Title: [256076] trunk/Source/ThirdParty/ANGLE
- Revision
- 256076
- Author
- commit-qu...@webkit.org
- Date
- 2020-02-07 16:03:28 -0800 (Fri, 07 Feb 2020)
Log Message
Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
https://bugs.webkit.org/show_bug.cgi?id=206625
Patch by Kenneth Russell <k...@chromium.org> on 2020-02-07
Reviewed by Dean Jackson.
* include/platform/FeaturesGL.h:
* src/libANGLE/renderer/gl/StateManagerGL.cpp:
(rx::StateManagerGL::bindFramebuffer):
* src/libANGLE/renderer/gl/renderergl_utils.cpp:
(rx::nativegl_gl::InitializeFeatures):
Modified Paths
Diff
Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (256075 => 256076)
--- trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-02-07 23:39:01 UTC (rev 256075)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-02-08 00:03:28 UTC (rev 256076)
@@ -1,3 +1,16 @@
+2020-02-07 Kenneth Russell <k...@chromium.org>
+
+ Try adding glBindFramebuffer flush workaround to ANGLE as remedy for flaky WebGL tests
+ https://bugs.webkit.org/show_bug.cgi?id=206625
+
+ Reviewed by Dean Jackson.
+
+ * include/platform/FeaturesGL.h:
+ * src/libANGLE/renderer/gl/StateManagerGL.cpp:
+ (rx::StateManagerGL::bindFramebuffer):
+ * src/libANGLE/renderer/gl/renderergl_utils.cpp:
+ (rx::nativegl_gl::InitializeFeatures):
+
2020-02-05 Dean Jackson <d...@apple.com>
Fix MacCatalyst build.
Modified: trunk/Source/ThirdParty/ANGLE/include/platform/FeaturesGL.h (256075 => 256076)
--- trunk/Source/ThirdParty/ANGLE/include/platform/FeaturesGL.h 2020-02-07 23:39:01 UTC (rev 256075)
+++ trunk/Source/ThirdParty/ANGLE/include/platform/FeaturesGL.h 2020-02-08 00:03:28 UTC (rev 256076)
@@ -411,6 +411,12 @@
"rewrite_row_major_matrices", FeatureCategory::OpenGLWorkarounds,
"Rewrite row major matrices in shaders as column major as a driver bug workaround",
&members, "http://anglebug.com/2273"};
+
+ // Flush before glBindFramebuffer as a driver bug workaround if necessary.
+ Feature flushBeforeBindFramebuffer = {
+ "flush_before_bindframebuffer", FeatureCategory::OpenGLWorkarounds,
+ "Flush before glBindFramebuffer as a driver bug workaround",
+ &members, "https://bugs.webkit.org/show_bug.cgi?id=206625"};
};
inline FeaturesGL::FeaturesGL() = default;
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/StateManagerGL.cpp (256075 => 256076)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/StateManagerGL.cpp 2020-02-07 23:39:01 UTC (rev 256075)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/StateManagerGL.cpp 2020-02-08 00:03:28 UTC (rev 256076)
@@ -586,6 +586,9 @@
void StateManagerGL::bindFramebuffer(GLenum type, GLuint framebuffer)
{
+ if (mFeatures.flushBeforeBindFramebuffer.enabled)
+ mFunctions->flush();
+
switch (type)
{
case GL_FRAMEBUFFER:
Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp (256075 => 256076)
--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp 2020-02-07 23:39:01 UTC (rev 256075)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp 2020-02-08 00:03:28 UTC (rev 256076)
@@ -1649,6 +1649,9 @@
// IsApple() && functions->standard == STANDARD_GL_DESKTOP);
// TODO(anglebug.com/2273): diagnose crashes with this workaround.
false);
+
+ // bugs.webkit.org/show_bug.cgi?id=206625
+ ANGLE_FEATURE_CONDITION(features, flushBeforeBindFramebuffer, IsApple() && isIntel);
}
void InitializeFrontendFeatures(const FunctionsGL *functions, angle::FrontendFeatures *features)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes