---
title: "copyMappings(sourceBuffer:destinationBuffer:operations:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtl4commandqueue/copymappings(sourcebuffer:destinationbuffer:operations:)"
---

# copyMappings(sourceBuffer:destinationBuffer:operations:)

Copies multiple offsets within a source placement sparse buffer to a destination placement sparse buffer.

## Declaration

```swift
func copyMappings(sourceBuffer: any MTLBuffer, destinationBuffer: any MTLBuffer, operations: [MTL4CopySparseBufferMappingOperation])
```

## Parameters

- `sourceBuffer`: The source placement sparse doc://com.apple.metal/documentation/Metal/MTLBuffer.
- `destinationBuffer`: The destination placement sparse doc://com.apple.metal/documentation/Metal/MTLBuffer.
- `operations`: An array of doc://com.apple.metal/documentation/Metal/MTL4CopySparseBufferMappingOperation instances to perform.

## Discussion

Discussion You are responsible for ensuring the source destination sparse buffers have the same placementSparsePageSize when you create them via makeBuffer(length:options:placementSparsePageSize:). Additionally, you are responsible for ensuring both the source and destination sparse buffers don’t use the same aliased tiles at the same time. note: If a sparse texture and a sparse buffer share the same backing tiles, these don’t provide you with meaningful views of the other resource’s data.
