<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 6, 2015 at 10:55 PM, Zhenyao Mo <span dir="ltr"><<a href="mailto:zmo@chromium.org" target="_blank">zmo@chromium.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
1) We can't expose INVALIDATE_BUFFER bit<br></blockquote><div>Please elaborate.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) We can't expose FLUSH bit with mapping implementations (we can only<br>
allow it in copying implementations), therefore also not<br>
glFlushMappedBufferRange() for mapping implementations.<br></blockquote><div>Please elaborate.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You lose perf in copying implementation, lose functionality in mapping<br>
implementation.  In my opinion, defining it as an extension is the<br>
clearest way to expose the subset of them.</blockquote><div>I'm strictly against recasting core functionality as an extension. It's unprecedented and in my opinion not user friendly. I'm also strictly against dropping core functionality. Even if it's inconvenient not to drop it. I'm against it because it means you're not producing an ES 3.0 compatible implementation. That creates all sorts of issues, among them issues for people who transpile to it, and issues for what "a khronos ratification" means for an implementation as well as issues for what you'll do in future revisions of the specification.</div><div><br></div><div>It's easy to see how such a bifurcation of the specifications will lead to WebGL being a completely distinct variant of GL from either Desktop GL and ES.</div></div></div></div>