Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Nov 25, 2015
  1. @zhenyao
Commits on Nov 20, 2015
  1. @zhenyao

    Add WebGL2/ES3 PixelStorei difference from WebGL1/ES2.

    zhenyao committed
    Also, fix a small related bug.
Commits on Nov 19, 2015
  1. @Oletus

    Mandate texture offset validation at compile time

    Oletus committed
    Texture offset is required to be constant, so validating it against the
    correct range can be done at compile time. Add a test for this and edit
    the WebGL 2.0 spec.
Commits on Nov 18, 2015
  1. @Oletus

    Add disallowed variants of ESSL3 operators to spec

    Oletus committed
    Supporting ternary and sequence operators on void and arrays is likely to
    be made optional in GLSL ES 3.00 according to current draft for a future
    version of the spec. For WebGL, it's the best to disallow any features
    that may not be implemented on all reasonable target platforms. These
    restrictions on target platforms could be worked around, but that adds an
    extra burden on implementations for very little gain in corner case
    features in this case.
Commits on Oct 25, 2015
  1. @kenrussell

    Remove restriction on texture type in texSubImage2D calls.

    kenrussell committed
    This restriction seems to have been based on a too-strict reading of the ES 2.0 spec, and is no longer a useful restriction for ES 3.0. See and for more background.
Commits on Oct 22, 2015
  1. @kenrussell

    Declare that only the std140 layout is supported for uniform blocks.

    kenrussell committed
    This was resolved by the working group a long time ago for portability but was never incorporated into the specification. At the time, confirmed with the OpenGL ES working group that this restriction does not impose a performance penalty.
  2. @kenrussell

    Updated GLES spec references from 3.0.3 to 3.0.4.

    kenrussell committed
    Also fixed some broken links to es_full_spec_3.0.3.pdf. No other changes.
Commits on Oct 12, 2015
  1. @Oletus

    Require that framebuffer attachments are cube complete

    Oletus committed
    This rule is added to improve the portability of WebGL implementations -
    some underlying GL implementations enforce this restriction found in
    newer OpenGL specs and working around it is complex. The backwards
    compatibility impact of enforcing this rule in WebGL is expected to be
    This rule is not extended to require mipmap completeness as well, as
    using non-mipmap complete attachments is already covered by WebGL tests
    and working, and there might be content relying on that.
Commits on Oct 6, 2015
  1. @kenrussell

    Revised language regarding queries' result availability.

    kenrussell committed
    Based on feedback from Jeff Gilbert from Mozilla, revised language to indicate solely that control must return to the browser's main loop in order for queries' results to become available. Follow-on to #1240.
Commits on Oct 5, 2015
  1. @Oletus

    Remove dEQP #extension directive test to keep backwards compatibility

    Oletus committed
    When ANGLE implemented a fix to this test in May 2015, significant issues
    with backwards compatibility were detected. It was decided that the ESSL1
    compiler should issue a warning rather than an error in this case, though
    the WebGL spec was not updated.
    The spec is still strictly enforced in the case of ESSL3 shaders and
    WebGL 2 with a similar gles3 dEQP test.
    The WebGL specs are updated to lock down the behavior for both ESSL1
    (backwards-compatible behavior) and ESSL3 (strict interpretation of the
    Another alternative was considered where "disable" directives would be
    subject to stricter rules closer to the GLSL ES 1.00 spec, but this did
    not seem to be useful. This does leave open the possibility of using
    extension directives in a confusing way in ESSL1 shaders, but in practice
    this does not seem to be a problem for developers.
Commits on Oct 2, 2015
  1. @kenrussell

    A query's result must not become available the same frame it was issued.

    kenrussell committed
    This specification language is derived from that in the EXT_disjoint_timer_query extension. It is intended to ensure best portability and performance of code using query objects. The ported dEQP tests in the WebGL 2.0 conformance suite have already been adjusted to follow this requirement. The EXT_disjoint_timer_query conformance test will be updated shortly to follow the same requirement.
    Per feedback from @RafaelCintron , added non-normative text describing when the "current frame" advances. It is likely that this will have to be updated again in the future.
Commits on Sep 29, 2015
  1. @Oletus

    Specify handling "defined" operators generated by macro replacement

    Oletus committed
    This is already tested by the dEQP shader preprocessor tests in the
    conformance suite.
    Five different corner cases of this behavior were tested against Nexus 5,
    Nexus 6, Nexus 9 and Nexus Player native GLES3 implementations, as well
    as the recent implementation in ANGLE TOT. The existing implementations
    largely agree with the spec in this commit. The only exception is Nexus
    Player, where in the following kind of case:
     #define CCC 1
     #define defined BBB
     #define AAA defined
     #if AAA CCC
    "defined" in the replacement list of "AAA" is replaced by "BBB" instead
    of immediately handling it as the "defined" operator. In all the other
    four implementations, the defined operator is evaluated in this case and
    returns "1".
Commits on Sep 15, 2015
  1. @kenrussell
  2. @kenrussell

    Merge pull request #1191 from kenrussell/packing-restrictions

    kenrussell committed
    Add non-normative note per #1167 about packing algorithm's guarantees.
  3. @kenrussell

    Changed getActiveUniforms to return sequence of GLboolean for UNIFORM…

    kenrussell committed
    This change is based on feedback from Janusz Sobczak from Mobica.
Commits on Sep 8, 2015
  1. @jasomobica

    Fixed typos.

    jasomobica committed
    Signed-off-by: Janusz Sobczak <>
  2. @kenrussell
Commits on Sep 7, 2015
  1. @kenrussell
Commits on Sep 4, 2015
  1. @jasomobica

    Added vertexAttribI4i and vertexAttribI4ui variants.

    jasomobica committed
    Signed-off-by: Janusz Sobczak <>
Commits on Aug 31, 2015
  1. @Richard-Yunchao
Commits on Aug 19, 2015
  1. @legendlee1314

    Supplement WebGLSampler part in WebGL 2 spec

    legendlee1314 committed
    1. Add unit and sampler states of bindSampler.
    2. Add pname states of samplerParameter[if].
    3. bindSampler accepts null object but others not.
Commits on Aug 10, 2015
  1. @Richard-Yunchao

    Attrib location max length is 1024 in WebGL 2.

    Richard-Yunchao committed
    Add this into WebGL 2 spec
    Fix the error in attrib-location-length-limit.html
    Add a test into conformance2/
Commits on Aug 6, 2015
  1. @zhenyao

    Update WebGL 2 spec to define a few undefined cases in ES3.

    zhenyao committed
    1) when sampler type does not match texture internal format
    2) when frag shader output does not match color buffer format.
    3) when draw buffers don't have the same color formats, and GRBA bits are queried.
Commits on Jul 24, 2015
  1. @toji
Commits on Jul 17, 2015
  1. @zhenyao

    Fix getVertexAttribOffset return type.

    zhenyao committed
    Used to be GLsizeiptr, should be GLintptr.
  2. @zhenyao

    Fix webgl.idl unnecessary whitespaces.

    zhenyao committed
    Just run make once, it's removing all of them automatically.
Commits on Jul 10, 2015
  1. @zhenyao

    Small spec updates

    zhenyao committed
    1) allow DEPTH_STENCIL in renderbufferStorage
    2) max token size 1024 for both ESSL1 and ESSL3 shaders.
Commits on Jul 8, 2015
  1. @kenrussell

    Merge pull request #1100 from zhenyao/spec

    kenrussell committed
    Add rationale for forbidding a buffer to be bound to transformfeedbac…
Commits on Jul 7, 2015
  1. @zhenyao

    Per kbr comment

    zhenyao committed
  2. @zhenyao

    Add rationale for forbidding a buffer to be bound to transformfeedbac…

    zhenyao committed
    …k and another binding point.
  3. @Oletus

    Loosen global variable initialization spec to meet implementations

    Oletus committed
    Historically WebGL implementations have not posed many restrictions to
    operations or variables in global variable initializers. This is a
    violation of the OpenGL ES Shading Language spec.
    Specify what is allowed in global variable initializers in WebGL.
    The new spec is halfway between the actual ESSL spec and the old
    de-facto functionality. It is intended to avoid widespread compatibility
    regressions in browsers while bringing WebGL closer to the restrictions
    in the ESSL spec.
Commits on Jul 2, 2015
  1. @alexhenrie

    Replace deprecated JavaScript media types with application/javascript

    alexhenrie committed
    application/x-javascript and text/javascript were both deprecated in
    April 2006 by RFC 4329. WebGL does not require them, and the tests
    should still pass even if a web browser drops support for the deprecated
Commits on Jun 25, 2015
  1. @zhenyao

    Fix style

    zhenyao committed
  2. @zhenyao

    Update per kbr review

    zhenyao committed
  3. @zhenyao
Something went wrong with that request. Please try again.