On 12/12/2010 04:20 PM, Gregg Tavares (wrk) wrote:
The spec has changed to effectively require a clear each time the
WebGL draw buffer is composited
WebGL presents its drawing buffer to the HTML page compositor
immediately before a compositing operation, but only if the
drawing buffer has been modified since the last compositing
operation. Before the drawing buffer is presented for compositing
the implementation shall ensure that all rendering operations have
been flushed to the drawing buffer. By default, after compositing
the contents of the drawing buffer shall be cleared to their
default values. This includes the color buffer as well as the
depth and stencil buffers if they are defined
...
Note that I don't say that the buffers are cleared to the current clear values in the state. This was intentional to make it clear that the state is not involved in this clear operation. But this clear operation can be done lazily. If the author first clears the buffers first (which will almost always be the case), then this clear can be skipped. Using the word "default" is really only a placeholder. We need to make it clear that it is the default value from the state, which I believe is well defined in the GLES spec.
A lazy clear operation implies a single clear to the current values
set in the state. So isn't that violating the spec. that you just
wrote: "clears the buffers to their default values"?