<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLAccelerationStructureCommandEncoder/copyAndCompact(sourceAccelerationStructure:destinationAccelerationStructure:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(pl)MTLAccelerationStructureCommandEncoder(im)copyAndCompactAccelerationStructure:toAccelerationStructure:"
  },
  "title" : "copyAndCompact(sourceAccelerationStructure:destinationAccelerationStructure:)"
}
-->

# copyAndCompact(sourceAccelerationStructure:destinationAccelerationStructure:)

Encodes a command to compact an acceleration structure’s data and copy it into a different acceleration structure.

```
func copyAndCompact(sourceAccelerationStructure: any MTLAccelerationStructure, destinationAccelerationStructure: any MTLAccelerationStructure)
```

## Parameters

`sourceAccelerationStructure`

The source acceleration structure.

`destinationAccelerationStructure`

The destination acceleration structure.

## Discussion

The source and destination acceleration structures can’t overlap in memory.
The destination acceleration structure needs to be at least as large as the compact
size of the source acceleration structure, which you obtain by using the
[`writeCompactedSize(accelerationStructure:buffer:offset:)`](/documentation/Metal/MTLAccelerationStructureCommandEncoder/writeCompactedSize(accelerationStructure:buffer:offset:)) method.

If the source acceleration structure contains references to other acceleration structures,
the copy of the acceleration structure refers to the same child structures.

---

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)