title: Do some GPUs or drivers lack some of the glsl built-in functions?
body: <p>I'm trying to perform a log during my rendering on an Intel X3100 under Linux (using the default Ubuntu driver). The code looks something like as follows:</p>
  
  <pre><code>vec4 frag_color;
  frag_color.rgb = log(frag_value.rgb);
  frag_color.a = frag_value.a
  gl_FragColor = frag_color;
  </code></pre>
  
  <p>where frag_value is derived from a texture lookup. Now, I can set the texture such that the log of <code>frag_value</code> should give a sensible answer (i.e, it's in a sensible range to give a frag_color 0.0->1.0), but it always renders as black (so I assume it's just setting it to zero). Of course, I can verify I'm sensibly setting <code>frag_value</code> by removing the log (and setting the frag_value texture to be in the range 0.0->1.0), which does what I expect, and multiplication and other trivial operations work fine.</p>
  
  <p>My question is, is this expected behaviour? Am I missing something? Are some GPUs or drivers lacking the some built in functions (e.g. sqrt seems to not work either)?</p>