title: Metal: linear texture filtering not working as expected
body: <p>I'm using Metal on iOS with the following fragment shader:</p>
  
  <pre><code>constexpr sampler s(coord::normalized,
                      address::clamp_to_zero,
                      filter::linear);
  
  fragment half4 passThroughFragment(VertexInOut inFrag [[stage_in]],
                                     texture2d&lt;float&gt; tex [[ texture(0) ]])
  {
      return half4(tex.sample(s, inFrag.uv));
  }
  </code></pre>
  
  <p>My texture is a 4x4 image. Despite the filtering set to linear, I get the following image, with nearest neighbor filtering:</p>
  
  <p><a href="https://i.stack.imgur.com/YE0Gr.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/YE0Gr.jpg" alt="Image with nearest neighbor filtering"></a></p>
  
  <p>It seems that my uv's are fine, since when I modify the fragment shader as follows:</p>
  
  <pre><code>return half4(0, inFrag.uv.x, inFrag.uv.y, 1);
  </code></pre>
  
  <p>I get the expected image:</p>
  
  <p><a href="https://i.stack.imgur.com/AGAcz.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/AGAcz.jpg" alt="Plot of UV coordinates"></a></p>
  
  <p><strong>Is there something else I need to do for linear filtering to work other than specify <code>filter::linear</code>?</strong></p>