---
title: edgeMode
framework: metalperformanceshaders
role: symbol
role_heading: Instance Property
path: metalperformanceshaders/mpscnnkernel/edgemode
---

# edgeMode

The edge mode to use when texture reads stray off the edge of an image.

## Declaration

```swift
var edgeMode: MPSImageEdgeMode { get set }
```

## Discussion

Discussion Most MPSKernel objects can read off the edge of the source image. This can happen because of a negative offset property, because the  value of offset + clipRect.size is larger than the source image or because the filter looks at neighboring pixels, such as a convolution filter. The default value is MPSImageEdgeMode.zero. note: For an MPSCNNPoolingAverage object, specifying a MPSImageEdgeMode.clamp edge mode is interpreted as a “shrink-to-edge” operation, which shrinks the effective filtering window to remain within the source image borders.

## See Also

### Instance Properties

- [offset](metalperformanceshaders/mpscnnkernel/offset.md)
- [MPSOffset](metalperformanceshaders/mpsoffset.md)
- [clipRect](metalperformanceshaders/mpscnnkernel/cliprect.md)
- [MTLRegion](metal/mtlregion.md)
- [destinationFeatureChannelOffset](metalperformanceshaders/mpscnnkernel/destinationfeaturechanneloffset.md)
- [MPSImageEdgeMode](metalperformanceshaders/mpsimageedgemode.md)
- [kernelHeight](metalperformanceshaders/mpscnnkernel/kernelheight.md)
- [kernelWidth](metalperformanceshaders/mpscnnkernel/kernelwidth.md)
- [strideInPixelsX](metalperformanceshaders/mpscnnkernel/strideinpixelsx.md)
- [strideInPixelsY](metalperformanceshaders/mpscnnkernel/strideinpixelsy.md)
- [isBackwards](metalperformanceshaders/mpscnnkernel/isbackwards.md)
- [padding](metalperformanceshaders/mpscnnkernel/padding.md)
- [MPSNNPadding](metalperformanceshaders/mpsnnpadding.md)
- [destinationImageAllocator](metalperformanceshaders/mpscnnkernel/destinationimageallocator.md)
- [MPSImageAllocator](metalperformanceshaders/mpsimageallocator.md)
