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