Why does WebGL canvas turn white on the second frame when alpha is masked?
===

Please see [this thread](http://www.khronos.org/message_boards/viewtopic.php?f=35&t=5167&p=15162#p15162) for details.

To summarize, given the following circumstances:

    gl = canvas.getContext('experimental-webgl');
    gl.clearColor(0, 0, 0, 1);
    gl.colorMask(1, 1, 1, 0);
    gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
    gl.enable(gl.BLEND);

...and a standard render loop:

    function doRender() {
      gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
      // render stuff, and request another frame
      requestAnimationFrame(doRender);
    }

...then I would like to know what the expected output should _theoretically_ be.

In actuality, I'm seeing that the first frame renders _as if there were no color mask_, and the second (and subsequent) frames render _the entire canvas opaque white_.

Note that it doesn't matter what the alpha level is set to: the second frame is always immediately, completely white (including areas that were not rendered to), even if the rendered alpha values are extremely low.

**The Question**: what is the expected result of the above operations on the first, second, and subsequent frames? Also, is what I am experiencing the expected result, or due to some bug in the GL driver or WebGL implementation? And finally, if it is the expected result, why? What is actually happening on the video card to produce this result?

System details: Chrome / Firefox (both) on a MacBook Pro / GeForce 320M / Snow Leopard.