[Public WebGL] WebGL2 and no mapBuffer/mapBufferRange

Mark Callow [email protected]
Wed Mar 18 03:00:21 PDT 2015


I’ll limit my comments to the following for now...

> On Mar 18, 2015, at 7:12 AM, Zhenyao Mo <[email protected]> wrote:
> 
>> With UNSYNCHRONIZED, MapBufferRange can be 'sharper', but potentially more
>> performant:
>> READ|UNSYNC: Still synchronous, but lets the GL process use UNSYNCHRONIZED
>> to prevent stalls.

READ | UNSYNC raises an INVALID_OPERATION error.

>> WRITE|INVAL|UNSYNC: Still async, but lets the GL process use UNSYNCHRONIZED
>> to prevent stalls.
> 
> I don't think we can allow UNSYNCHRONIZED bit to reach the underlying
> GL. That's leads to undefined behavior.

The undefined behavior is whether a dereference in the GL (e.g. a draw operation) will see the pre-map buffer content or what the app has just written. I think this level of undefined behavior can be tolerated for the performance gain. There is no data leakage or other security issue with this undefined behavior.

Regards

    -Mark


-------------- 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/20150318/d3c82463/attachment.asc>


More information about the public_webgl mailing list