title: What happens to vertex shader `varying` variable with `highp` qualifier if high precision is unsupported in fragment shader?
body: <p>In OpenGL ES 2.0 (<a href="https://www.khronos.org/registry/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf" rel="nofollow noreferrer">Shading Language 1.00</a>), does qualifying a <code>varying</code> vertex shader variable with the <code>highp</code> qualifier have any effect, such as on performance, if <code>GL_FRAGMENT_PRECISION_HIGH</code> is undefined?</p>
  
  <p>For example, when <code>highp</code> is unavailable in the fragment language, would linking the following fragment shader with each of the following two vertex shaders, one at a time, result in equivalent programs?</p>
  
  <p>
  Fragment:</p>
  
  <pre class="lang-c prettyprint-override"><code>#ifdef GL_FRAGMENT_PRECISION_HIGH
  varying highp vec2 vTextureCoord;
  #else
  varying mediump vec2 vTextureCoord;
  #endif
  ...
  </code></pre>
  
  <p>Vertex 1:</p>
  
  <pre class="lang-c prettyprint-override"><code>...
  attribute vec2 aTextureCoord;
  
  varying highp vec2 vTextureCoord;
  
  void main() {
      ...
      vTextureCoord = aTextureCoord;
  }
  </code></pre>
  
  <p>Vertex 2:</p>
  
  <pre class="lang-c prettyprint-override"><code>...
  attribute vec2 aTextureCoord;
  
  #ifdef GL_FRAGMENT_PRECISION_HIGH
  varying highp vec2 vTextureCoord;
  #else
  varying mediump vec2 vTextureCoord;
  #endif
  
  void main() {
      ...
      vTextureCoord = aTextureCoord;
  }
  </code></pre>
  
  <p>The section in the <a href="https://www.khronos.org/registry/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf" rel="nofollow noreferrer">GLSL ES 1.00 spec</a> referring to <code>GL_FRAGMENT_PRECISION_HIGH</code> is 4.5.4.</p>