[Public WebGL] WebGL2 and no mapBuffer/mapBufferRange

Mark Callow [email protected]
Thu Mar 12 00:26:50 PDT 2015

> On Mar 12, 2015, at 2:48 PM, Florian Bösch <[email protected]> wrote:
> I'm assuming you refer to the condition in mapBufferRange where two overlapping ranges are created with the unsynchronized bit, which the spec states as undefined. This is also easy to solve, just don't let people create overlapping mapped buffer ranges (another gl error).

I don’t think that’s the undefined situation in the spec, if I am understanding it correctly.

The UNSYNCHRONIZED_BIT tells the GL not to wait for pending operations (i.e. don’t do a fence sync or worse a finish()) before returning from MapBufferRange. The undefined case is when the application modifies data in the mapped range before the pending operations have completed. If the pending operation is a read the GL may see either the previous buffer content or the new data written by the application. If the pending operation is a write, the GL may clobber the data already modified by the application, or it may not.

There is no possible data leakage here; The only issue is that an incorrect application might work on some implementations.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20150312/f4e0ded4/attachment.asc>

More information about the public_webgl mailing list