<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.13.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MetalPerformanceShaders",
  "identifier" : "/documentation/MetalPerformanceShaders/MPSCNNKernel/destinationFeatureChannelOffset",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal Performance Shaders"
    ],
    "preciseIdentifier" : "c:objc(cs)MPSCNNKernel(py)destinationFeatureChannelOffset"
  },
  "title" : "destinationFeatureChannelOffset"
}
-->

# destinationFeatureChannelOffset

The number of channels in the destination image to skip before writing output data.

```
var destinationFeatureChannelOffset: Int { get set }
```

## Discussion

This is the starting offset in the destination image in the feature channel dimension at which destination output data is written. This allows you to pass a subset of all the channels in an image as the output of a kernel.

For example, suppose a destination image has 24 channels and a kernel outputs 8 channels. If we want channels 8 to 15 of this destination image to be used for the output, we can set the value of the [`destinationFeatureChannelOffset`](/documentation/MetalPerformanceShaders/MPSCNNKernel/destinationFeatureChannelOffset) property to 8.

Note that this offset applies independently to each image when the [`MPSImage`](/documentation/MetalPerformanceShaders/MPSImage) object is a container for multiple images and the [`MPSCNNKernel`](/documentation/MetalPerformanceShaders/MPSCNNKernel) object is processing multiple images (i.e., `clipRect.size.depth > 1`).

The default value is `0`. Any other value specified must be a multiple of `4`. If the kernel outputs `N` channels, the destination image **must** have at least `destinationFeatureChannelOffset + N` channels. Using a destination image with an insufficient number of feature channels results in an error.

For example, if a convolution filter outputs 32 channels, and the destination image has 64 channels, then it is an error to set `destinationFeatureChannelOffset > 32`.

---

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)