Title: [258880] trunk
- Revision
- 258880
- Author
- [email protected]
- Date
- 2020-03-23 15:44:54 -0700 (Mon, 23 Mar 2020)
Log Message
Set important EGL context attributes
https://bugs.webkit.org/show_bug.cgi?id=208724
Patch by James Darpinian <[email protected]> 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):
Modified Paths
Diff
Modified: trunk/LayoutTests/platform/ios/TestExpectations (258879 => 258880)
--- trunk/LayoutTests/platform/ios/TestExpectations 2020-03-23 22:14:38 UTC (rev 258879)
+++ trunk/LayoutTests/platform/ios/TestExpectations 2020-03-23 22:44:54 UTC (rev 258880)
@@ -3509,3 +3509,5 @@
# The line breaking rules changed in ICU 66. We've updated the tests to match, but old platforms won't get updated line breaking rules.
webkit.org/b/209250 imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-015.xht [ ImageOnlyFailure ]
webkit.org/b/209250 imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht [ ImageOnlyFailure ]
+
+webkit.org/b/207858 fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html [ Skip ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (258879 => 258880)
--- trunk/LayoutTests/platform/mac/TestExpectations 2020-03-23 22:14:38 UTC (rev 258879)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2020-03-23 22:44:54 UTC (rev 258880)
@@ -2032,3 +2032,5 @@
# The line breaking rules changed in ICU 66. We've updated the tests to match, but old platforms won't get updated line breaking rules.
webkit.org/b/209250 [ Sierra+ ] imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-015.xht [ ImageOnlyFailure ]
webkit.org/b/209250 [ Sierra+ ] imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht [ ImageOnlyFailure ]
+
+webkit.org/b/207858 fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (258879 => 258880)
--- trunk/Source/WebCore/ChangeLog 2020-03-23 22:14:38 UTC (rev 258879)
+++ trunk/Source/WebCore/ChangeLog 2020-03-23 22:44:54 UTC (rev 258880)
@@ -1,3 +1,21 @@
+2020-03-24 James Darpinian <[email protected]>
+
+ Set important EGL context attributes
+ https://bugs.webkit.org/show_bug.cgi?id=208724
+
+ Reviewed by Dean Jackson.
+
+ Re-landing this change 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):
+
2020-03-23 Michael Catanzaro <[email protected]>
[GTK] Allow distributors to brand user agent
Modified: trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm (258879 => 258880)
--- trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm 2020-03-23 22:14:38 UTC (rev 258879)
+++ trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm 2020-03-23 22:44:54 UTC (rev 258880)
@@ -347,6 +347,15 @@
}
eglContextAttributes.append(EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE);
eglContextAttributes.append(EGL_TRUE);
+ // WebGL requires that all resources are cleared at creation.
+ eglContextAttributes.append(EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE);
+ eglContextAttributes.append(EGL_TRUE);
+ // WebGL doesn't allow client arrays.
+ eglContextAttributes.append(EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE);
+ eglContextAttributes.append(EGL_FALSE);
+ // WebGL doesn't allow implicit creation of objects on bind.
+ eglContextAttributes.append(EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM);
+ eglContextAttributes.append(EGL_FALSE);
if (strstr(displayExtensions, "EGL_ANGLE_power_preference")) {
eglContextAttributes.append(EGL_POWER_PREFERENCE_ANGLE);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes