Most efficient way to apply CIImage to SCNMaterial

I have an app where we generate the diffuse texture using CoreImage. SCNMaterial has a lot of options for it's contents, but CIImage isn't one of them. However, there are several different options to convert them into a format that will work. This gets updated quit often based on user input, and ideally would be able to update at 60+fps.


Currently I'm using a CIContext along with a metal texture, but that doesn't seem to have very good performance.