[webkit-changes] [WebKit/WebKit] 5d5c73: [Gtk][WPE][Skia] CPU rendering fires an EGL relate...
Nikolas Zimmermann
noreply at github.com
Mon Jan 27 02:14:23 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5d5c7351cfd8dcda26eb1b1159d750a5e9bbe406
https://github.com/WebKit/WebKit/commit/5d5c7351cfd8dcda26eb1b1159d750a5e9bbe406
Author: Nikolas Zimmermann <nzimmermann at igalia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M Source/WebCore/platform/graphics/displaylists/DisplayListItem.h
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp
M Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h
M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp
M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h
Log Message:
-----------
[Gtk][WPE][Skia] CPU rendering fires an EGL related assertion, when NativeImage/ImageBuffers are drawn
https://bugs.webkit.org/show_bug.cgi?id=286566
Reviewed by Carlos Garcia Campos.
Visiting e.g. igalia.com, fires an assertion when Skia/CPU rendering is
active. During recording of the displayl ist, we unconditionally create
fences when ImageBuffers/NativeImages are used. This is not correct for
CPU rendering and leads to the assertion, when the Skia/CPU painting
threads attempt to wait for fence completion:
No provider of eglWaitSync found. Requires one of:
EGL 15
The painting threads don't own a SkiaGLContext in non-GPU painting mode,
therefore we see the EGL error from above. Fix that, by not passing
DisplayList::FlushImagesAndWaitForCompletion as ReplayOption during
display list recording. To clarify, that this option is intended to be
used with accelerated rendering, rename it to
DisplayList::FlushAcceleratedImagesAndWaitForCompletion.
Covered by existing tests, when CPU rendering is chosen.
* Source/WebCore/platform/graphics/displaylists/DisplayListItem.h:
* Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
* Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp:
(WebCore::SkiaPaintingEngine::recordDisplayList const):
(WebCore::SkiaPaintingEngine::postPaintingTask):
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h:
Canonical link: https://commits.webkit.org/289419@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list