Title: [270387] trunk
Revision
270387
Author
[email protected]
Date
2020-12-02 21:06:54 -0800 (Wed, 02 Dec 2020)

Log Message

Many different assertion failures on the GPU process bot after r270366
https://bugs.webkit.org/show_bug.cgi?id=219467

Reviewed by Simon Fraser.

Source/WebKit:

* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::supportsGPUProcessRendering):
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
Disable DOM rendering in the GPU process if the DrawingArea doesn't support it.
Currently only RemoteLayerTreeDrawingArea does.

Tools:

* CISupport/build-webkit-org/config.json:
Revert r270366; macOS UI-side compositing is in way too sad
of a state, the world is not ready for this yet.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (270386 => 270387)


--- trunk/Source/WebKit/ChangeLog	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Source/WebKit/ChangeLog	2020-12-03 05:06:54 UTC (rev 270387)
@@ -1,5 +1,22 @@
 2020-12-02  Tim Horton  <[email protected]>
 
+        Many different assertion failures on the GPU process bot after r270366
+        https://bugs.webkit.org/show_bug.cgi?id=219467
+
+        Reviewed by Simon Fraser.
+
+        * WebProcess/WebPage/DrawingArea.cpp:
+        (WebKit::DrawingArea::supportsGPUProcessRendering):
+        * WebProcess/WebPage/DrawingArea.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage):
+        (WebKit::WebPage::updatePreferences):
+        * WebProcess/WebPage/WebPage.h:
+        Disable DOM rendering in the GPU process if the DrawingArea doesn't support it.
+        Currently only RemoteLayerTreeDrawingArea does.
+
+2020-12-02  Tim Horton  <[email protected]>
+
         GPU Process: Temporarily disable Web Fonts when DOM rendering in the GPU process is enabled
         https://bugs.webkit.org/show_bug.cgi?id=219479
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp (270386 => 270387)


--- trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp	2020-12-03 05:06:54 UTC (rev 270387)
@@ -97,4 +97,21 @@
     WebProcess::singleton().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_identifier);
 }
 
+bool DrawingArea::supportsGPUProcessRendering(DrawingAreaType type)
+{
+    switch (type) {
+#if PLATFORM(COCOA)
+#if !PLATFORM(IOS_FAMILY)
+    case DrawingAreaTypeTiledCoreAnimation:
+        return false;
+#endif
+    case DrawingAreaTypeRemoteLayerTree:
+        return true;
+#elif USE(COORDINATED_GRAPHICS) || USE(TEXTURE_MAPPER)
+    case DrawingAreaTypeCoordinatedGraphics:
+        return false;
+#endif
+    }
+}
+
 } // namespace WebKit

Modified: trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h (270386 => 270387)


--- trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h	2020-12-03 05:06:54 UTC (rev 270387)
@@ -75,6 +75,8 @@
     DrawingAreaType type() const { return m_type; }
     DrawingAreaIdentifier identifier() const { return m_identifier; }
 
+    static bool supportsGPUProcessRendering(DrawingAreaType);
+
     virtual void setNeedsDisplay() = 0;
     virtual void setNeedsDisplayInRect(const WebCore::IntRect&) = 0;
     virtual void scroll(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollDelta) = 0;

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (270386 => 270387)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2020-12-03 05:06:54 UTC (rev 270387)
@@ -421,6 +421,7 @@
     : m_identifier(pageID)
     , m_mainFrame(WebFrame::create())
     , m_viewSize(parameters.viewSize)
+    , m_drawingAreaType(parameters.drawingAreaType)
     , m_alwaysShowsHorizontalScroller { parameters.alwaysShowsHorizontalScroller }
     , m_alwaysShowsVerticalScroller { parameters.alwaysShowsVerticalScroller }
     , m_shouldRenderCanvasInGPUProcess { parameters.shouldRenderCanvasInGPUProcess }
@@ -3795,7 +3796,7 @@
     static_cast<WebMediaStrategy&>(platformStrategies()->mediaStrategy()).setUseGPUProcess(m_shouldPlayMediaInGPUProcess);
     WebProcess::singleton().supplement<RemoteMediaPlayerManager>()->setUseGPUProcess(m_shouldPlayMediaInGPUProcess);
     WebProcess::singleton().setUseGPUProcessForCanvasRendering(m_shouldRenderCanvasInGPUProcess);
-    WebProcess::singleton().setUseGPUProcessForDOMRendering(m_shouldRenderDOMInGPUProcess);
+    WebProcess::singleton().setUseGPUProcessForDOMRendering(m_shouldRenderDOMInGPUProcess && DrawingArea::supportsGPUProcessRendering(m_drawingAreaType));
     WebProcess::singleton().setUseGPUProcessForMedia(m_shouldPlayMediaInGPUProcess);
 
     // FIXME: We should support web fonts in the GPU process.

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (270386 => 270387)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-12-03 05:06:54 UTC (rev 270387)
@@ -1802,6 +1802,7 @@
 
     WebCore::IntSize m_viewSize;
     std::unique_ptr<DrawingArea> m_drawingArea;
+    DrawingAreaType m_drawingAreaType;
 
     HashSet<PluginView*> m_pluginViews;
     bool m_hasSeenPlugin { false };

Modified: trunk/Tools/CISupport/build-webkit-org/config.json (270386 => 270387)


--- trunk/Tools/CISupport/build-webkit-org/config.json	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Tools/CISupport/build-webkit-org/config.json	2020-12-03 05:06:54 UTC (rev 270387)
@@ -168,7 +168,7 @@
 
                     { "name": "Apple-Catalina-Debug-WK2-GPUProcess-Tests", "factory": "TestAllButJSCFactory", "builddir": "catalina-debug-tests-wk2-gpuprocess",
                       "platform": "mac-catalina", "configuration": "debug", "architectures": ["x86_64"],
-                      "additionalArguments": ["--no-retry-failures", "--use-gpu-process", "--remote-layer-tree"],
+                      "additionalArguments": ["--no-retry-failures", "--use-gpu-process"],
                       "workernames": ["bot260"]
                     },
                     { "name": "Apple-Catalina-Release-Build", "factory": "BuildFactory", "builddir": "catalina-release",

Modified: trunk/Tools/ChangeLog (270386 => 270387)


--- trunk/Tools/ChangeLog	2020-12-03 04:59:45 UTC (rev 270386)
+++ trunk/Tools/ChangeLog	2020-12-03 05:06:54 UTC (rev 270387)
@@ -1,3 +1,14 @@
+2020-12-02  Tim Horton  <[email protected]>
+
+        Many different assertion failures on the GPU process bot after r270366
+        https://bugs.webkit.org/show_bug.cgi?id=219467
+
+        Reviewed by Simon Fraser.
+
+        * CISupport/build-webkit-org/config.json:
+        Revert r270366; macOS UI-side compositing is in way too sad
+        of a state, the world is not ready for this yet.
+
 2020-12-02  Brent Fulgham  <[email protected]>
 
         [macOS] WebContent sandbox; remove AppleIntelMEUserClient
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to