Changeset 258880 in webkit


Ignore:
Timestamp:
Mar 23, 2020 3:44:54 PM (4 years ago)
Author:
dino@apple.com
Message:

Set important EGL context attributes
https://bugs.webkit.org/show_bug.cgi?id=208724

Patch by James Darpinian <James Darpinian> on 2020-03-06
Reviewed by Dean Jackson.

Re-landing after r258875.

These EGL context attributes are important to make ANGLE's validation correct for
WebGL contexts. ROBUST_RESOURCE_INITIALIZATION is especially important; the lack
of it may be a root cause of some of the test flakiness we have seen. With this
change WebKit's EGL context attributes now match Chromium's for ANGLE/WebGL
contexts.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/platform/ios/TestExpectations

    r258817 r258880  
    35103510webkit.org/b/209250 imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-015.xht [ ImageOnlyFailure ]
    35113511webkit.org/b/209250 imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht [ ImageOnlyFailure ]
     3512
     3513webkit.org/b/207858 fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html [ Skip ]
  • trunk/LayoutTests/platform/mac/TestExpectations

    r258875 r258880  
    20332033webkit.org/b/209250 [ Sierra+ ] imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-015.xht [ ImageOnlyFailure ]
    20342034webkit.org/b/209250 [ Sierra+ ] imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht [ ImageOnlyFailure ]
     2035
     2036webkit.org/b/207858 fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html [ Skip ]
  • trunk/Source/WebCore/ChangeLog

    r258877 r258880  
     12020-03-24  James Darpinian  <jdarpinian@chromium.org>
     2
     3        Set important EGL context attributes
     4        https://bugs.webkit.org/show_bug.cgi?id=208724
     5
     6        Reviewed by Dean Jackson.
     7
     8        Re-landing this change after r258875.
     9
     10        These EGL context attributes are important to make ANGLE's validation correct for
     11        WebGL contexts. ROBUST_RESOURCE_INITIALIZATION is especially important; the lack
     12        of it may be a root cause of some of the test flakiness we have seen. With this
     13        change WebKit's EGL context attributes now match Chromium's for ANGLE/WebGL
     14        contexts.
     15
     16        * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
     17        (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
     18
    1192020-03-23  Michael Catanzaro  <mcatanzaro@gnome.org>
    220
  • trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm

    r258226 r258880  
    348348    eglContextAttributes.append(EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE);
    349349    eglContextAttributes.append(EGL_TRUE);
     350    // WebGL requires that all resources are cleared at creation.
     351    eglContextAttributes.append(EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE);
     352    eglContextAttributes.append(EGL_TRUE);
     353    // WebGL doesn't allow client arrays.
     354    eglContextAttributes.append(EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE);
     355    eglContextAttributes.append(EGL_FALSE);
     356    // WebGL doesn't allow implicit creation of objects on bind.
     357    eglContextAttributes.append(EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM);
     358    eglContextAttributes.append(EGL_FALSE);
    350359
    351360    if (strstr(displayExtensions, "EGL_ANGLE_power_preference")) {
Note: See TracChangeset for help on using the changeset viewer.