Changeset 258025 in webkit


Ignore:
Timestamp:
Mar 6, 2020 1:24:26 PM (4 years ago)
Author:
commit-queue@webkit.org
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.

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/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r258024 r258025  
     12020-03-06  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        These EGL context attributes are important to make ANGLE's validation correct for
     9        WebGL contexts. ROBUST_RESOURCE_INITIALIZATION is especially important; the lack
     10        of it may be a root cause of some of the test flakiness we have seen. With this
     11        change WebKit's EGL context attributes now match Chromium's for ANGLE/WebGL
     12        contexts.
     13
     14        * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
     15        (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
     16
    1172020-03-06  Youenn Fablet  <youenn@apple.com>
    218
  • trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm

    r254551 r258025  
    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.