Metal Compute Kernel vs Fragment Shader
<p>Metal supports <code>kernel</code> in addition to the standard <code>vertex</code> and <code>fragment</code> functions. I found a metal <code>kernel</code> example that converts an image to grayscale.</p>

<p>What exactly is the difference between doing this in a <code>kernel</code> vs <code>fragment</code>? What can a compute <code>kernel</code> do (better) that a <code>fragment</code> shader can't and vice versa?</p>