Edit

kc3-lang/angle/extensions/ANGLE_webgl_compatibility.txt

Branch :

  • Show log

    Commit

  • Author : James Darpinian
    Date : 2019-10-03 13:46:28
    Hash : 27db2458
    Message : Optimize disabling ARB_texture_rectangle In https://crrev.com/c/1838418 I added the ability to disable ARB_texture_rectangle so that we can use it in the WebGL implementation but disable it when compiling user shaders. Unfortunately disabling and re-enabling the extension causes the shader translator to be reinitialized which turns out to be more expensive than the actual work of shader translation, at least for small shaders. It's slow enough to cause timeouts in WebKit's WebGL conformance test runs. This introduces an alternate method of disabling ARB_texture_rectangle in the translator which is much faster because it avoids reinitializing the translator. Bug: angleproject:3956 Change-Id: I5d31b683ff19a59bdfd289cfd3c609f64ef5e25b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1991969 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>

  • extensions/ANGLE_webgl_compatibility.txt
  • Name
    
        ANGLE_webgl_compatibility
    
    Name Strings
    
        GL_ANGLE_webgl_compatibility
    
    Contributors
    
        Geoff Lang
        James Darpinian
    
    Contact
    
        Geoff Lang (geofflang 'at' google.com)
    
    Notice
    
        Copyright (c) 2016 The Khronos Group Inc. Copyright terms at
            http://www.khronos.org/registry/speccopyright.html
    
    Status
    
        Draft
    
    Version
    
        Version 3, October 3, 2019
    
    Number
    
        OpenGL ES Extension #??
    
    Dependencies
    
        Requires OpenGL ES 2.0
    
        Written against the OpenGL ES 2.0 specification.
    
        Interacts with EGL_ANGLE_create_context_webgl_compatibility (or equivalent)
        extension.
    
        Interacts with the ARB_texture_rectangle/ANGLE_texture_rectangle extension.
    
    Overview
    
        With this extension enabled, the OpenGL ES context will have additional
        features and validation to be compatible with the WebGL specification.
    
    New Procedures and Functions
    
        None
    
    
    New Tokens
    
        None
    
    Additions to the OpenGL ES Specification
    
        Additional validation will be performed according to the the sections of
        the WebGL specification entitled "Differences Between WebGL and OpenGL ES
        2.0" and "Differences Between WebGL and OpenGL ES 3.0".
    
        When the ANGLE_texture_rectangle extension is supported then Enable,
        Disable, and IsEnabled accept the symbolic constant
        TEXTURE_RECTANGLE_ANGLE, which controls whether ARB_texture_rectangle is
        allowed to be used by shaders at compilation time. This is initially
        enabled. WebGL implementations may want to use ARB_texture_rectangle when
        compiling their own shaders but not expose the extension to WebGL user
        shaders. This only affects shader compilation and not any other part of
        the ANGLE_texture_rectangle extension, nor the behavior of already
        compiled shaders.
    
    New State
    
        None
    
    Conformance Tests
    
        TBD
    
    Issues
    
        None
    
    Revision History
    
        Rev.    Date         Author     Changes
        ----  -------------  ---------  ----------------------------------------
          1   Sept 16, 2016  geofflang  Initial version
          2    Nov 28, 2016  geofflang  Break the extension requests into a
                                        separate extension.
          3     Oct 3, 2019  jdarpinian Allow disabling ARB_texture_rectangle