title: Shader texture values not the same as written when creating the texture
body: <p>I have created a texture and filled it with ones:</p>
  
  <pre><code>size_t size = width * height * 4;
  float *pixels = new float[size];
  for (size_t i = 0; i &lt; size; ++i) {
      pixels[i] = 1.0f;
  }
  
  glTextureStorage2D(texture_id, 1, GL_RGBA16F, width,
                     height);
  glTextureSubImage2D(texture_id, 0, 0, 0, width, height, GL_RGBA,
                      GL_FLOAT, pixels);
  </code></pre>
  
  <p>I use linear filtering (<code>GL_LINEAR</code>) and clamp to border.</p>
  
  <p>But when I draw the image:</p>
  
  <pre><code>color = texture(atlas, uv);
  </code></pre>
  
  <p>the last row looks like it has alpha values of less than 1. If in the shader I set the alpha to 1:</p>
  
  <pre><code>color.a = 1.0f;
  </code></pre>
  
  <p>it draws it correctly. What could be the reason for this?</p>