Well, we decide to put it behind a flag, because for instanced drawing (glDrawArrayInstanced for exemple), you need the gl_InstanceID in the vertex shader. And our actual ANGLE implementation doesn't support ARB_instanced_draw or gpu_shader4 yet. Therefore I did a ANGLE bypass if the WebGL context is a WebGLRenderingContext2 (for webgl 2) and if the shader has "#version experimental-webgl2" at the top of its code to be able to request EXT_gpu_shader4 at the shader compilation time. And it works fine. =) But bypassing ANGLE is a major security leak. Indeed, ANGLE check several security things in case of the driver don't. Also webgl 2 has a native support for MRT, which is only a extension draft for now. And sure, this is a prototype, it might have differences with the specs we are planing to do. Here are the mains reasons we put it behind a flag. =) I'm prototyping WebGL 2 from the OpenGL 3.0 specification, and the WebGL 1 API philosophy (gl.createQuery instead of glGenQueries …). Guillaume. On 2013-07-15, at 6:08 PM, Bill Baxter <wbaxter@google.com> wrote:
|