…enum and documentation for it.
DRAW_BINDING was incorrect, it should have been DRAW_BUFFER<i>. PACK_IMAGE_HEIGHT and PACK_SKIP_IMAGES were removed in GLES3.0.1 (see spec section E.4), so they should not be in WebGL 2.0 either. IMPLEMENTATION_COLOR_READ_FORMAT and IMPLEMENTATION_COLOR_READ_TYPE are not new in WebGL 2.0 any more, since they were added to WebGL 1.0, so remove them from the table that should only list the new enums.
…section It's important to have all the incompatibilities listed in one place to have an easy reference for developers.
…r drawArrays and drawElements calls to allow the behavior defined in the KHR_robust_buffer_access_behavior OpenGL ES 2.0 extension. Explicitly referenced that extension (non-normatively) in the new specification text as well as the preexisting section on out-of-range array accesses in shaders.
…f January 23, 2015. Updated latest spec links, last modified dates, and copyright dates on current versions of specs.
Added subsection under compatibility differences describing the behavior and rationale.
…deled after https://www.opengl.org/registry/specs/KHR/robust_buffer_access_behavior.txt , relax the bounds checking requirements on array accesses. This should allow D3D to avoid unnecessary bounds checks.
The spec mentioned that drawing was constrained by canvas area, but it should instead refer to framebuffer area, since rendering to an FBO should not be constrained by the size of the canvas. Also, clarify that the viewport only constrains the drawing of primitives, and not clearing the framebuffer. This should remove the most glaring contradictions with the GLES2.0 spec. A mention of how the drawing buffer size is initialized is removed from this section, as it was redundant and confusing. Add a clear mention that drawing commands can only modify pixels inside the currently bound framebuffer, since the GLES2.0 spec does not seem to clearly address what happens when the viewport extends outside the framebuffer and draw commands are called.
Also add a note that getBufferSubData is provided as an alternative.
2.0 spec, and added non-normative text about preferring texStorage3D and texStorage2D over texImage3D and texImage2D.
As in GLES, behavior in the cases where an earlier API version generates an error is subject to change in future API versions. Also, in some cases GLES3.0 can sample a texture even though GLES2.0 would return RGBA = 0, 0, 0, 1. It seems like a good idea to mention this kind of things in the backwards incompatibility section for the sake of exhaustiveness, though a complete list of changed error conditions would seem excessive.
…utes. See issue #713
The typedef for (ArrayBuffer or ArrayBufferView) is now part of WebIDL: http://heycam.github.io/webidl/#common-ArrayBufferData It seems the IDL file was a little out of date to, so this is the generated file from tip-of-tree.
Removing the function from the API still seems unwarranted, since implementing it does not cost much and it would have to be reintroduced in case WebGL ever starts to allow synchronization between multiple contexts.
…L F2F, mandated that implementations enforce a low but unspecified maximum timeout. Stated that applications should not use clientWaitSync to block execution.