---
title: "BNNSFilterCreateConvolutionLayer(_:_:_:_:)"
framework: accelerate
role: symbol
role_heading: Function
path: "accelerate/bnnsfiltercreateconvolutionlayer(_:_:_:_:)"
---

# BNNSFilterCreateConvolutionLayer(_:_:_:_:)

Returns a convolution filter, initialized with input, output, layer, and filter parameters.

## Declaration

```swift
func BNNSFilterCreateConvolutionLayer(_ in_desc: UnsafePointer<BNNSImageStackDescriptor>, _ out_desc: UnsafePointer<BNNSImageStackDescriptor>, _ layer_params: UnsafePointer<BNNSConvolutionLayerParameters>, _ filter_params: UnsafePointer<BNNSFilterParameters>?) -> BNNSFilter?
```

## Parameters

- `in_desc`: Pointer to a BNNSImageStackDescriptor struct describing the input
- `out_desc`: Pointer to a BNNSImageStackDescriptor struct describing the output
- `layer_params`: Pointer to a BNNSConvolutionLayerParameters struct describing the layer parameters
- `filter_params`: Pointer to a BNNSFilterParameters struct describing the filter parameters

## Return Value

Return Value A BNNSFilter object representing a convolution filter configured with the specified  parameters

## See Also

### Convolution layers

- [BNNSConvolutionLayerParameters](accelerate/bnnsconvolutionlayerparameters.md)
- [BNNS.ConvolutionLayer](accelerate/bnns/convolutionlayer.md)
- [BNNSLayerParametersConvolution](accelerate/bnnslayerparametersconvolution.md)
- [BNNSFilterCreateLayerConvolution(_:_:)](accelerate/bnnsfiltercreatelayerconvolution(_:_:).md)
- [BNNSFilterCreateLayerTransposedConvolution(_:_:)](accelerate/bnnsfiltercreatelayertransposedconvolution(_:_:).md)
