WebKit Bugzilla
Attachment 342935 Details for
Bug 186764
: [Threaded paintingEngine] Fix rendering glitches
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186764-20180618164034.patch (text/plain), 3.57 KB, created by
Karl Leplat
on 2018-06-18 07:40:35 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Karl Leplat
Created:
2018-06-18 07:40:35 PDT
Size:
3.57 KB
patch
obsolete
>Subversion Revision: 232927 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index f84388bac660b5cae0b6fa92a35ef2f7924cfd45..a2bad404fa1d9963fa2faa28b41bbbb60ffa9b0a 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-18 Karl Leplat <karl.leplat_ext@softathome.com> >+ >+ [Threaded paintingEngine] Fix rendering glitches >+ https://bugs.webkit.org/show_bug.cgi?id=186764 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp: >+ (Nicosia::PaintingEngineBasic::paint): >+ To keep backwards compatibility with no multi-threaded, >+ we call Nicosia::Buffer functions beginPainting() and completePainting(). >+ >+ > 2018-06-18 Philippe Normand <pnormand@igalia.com> > > [GStreamer] Crash when adding in-band text track with playbin3 enabled >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 89c425be4f591539ed22c1c921686563ed68e0f8..0684c248cbc53e318fe87c968946bdf2e4f3e096 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,17 @@ >+2018-06-18 Karl Leplat <karl.leplat_ext@softathome.com> >+ >+ [Threaded paintingEngine] Fix rendering glitches >+ https://bugs.webkit.org/show_bug.cgi?id=186764 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: >+ (WebKit::CoordinatedBackingStoreTile::swapBuffers): >+ We call Nicosia::Buffer function waitUntilPaintingComplete() >+ in order to synchronize of using Nicosia:buffer between MainThread >+ and ThreadedCompositor. >+ >+ > 2018-06-17 Chris Dumez <cdumez@apple.com> > > Crash under SuspendedPageProxy::~SuspendedPageProxy() >diff --git a/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp b/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp >index 80dc1f10aa1641374abba027aaa6a174a1f797a9..3a164c28a6fc5b80270507d291263db9e0049183 100644 >--- a/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp >+++ b/Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp >@@ -43,6 +43,8 @@ PaintingEngineBasic::~PaintingEngineBasic() = default; > > bool PaintingEngineBasic::paint(GraphicsLayer& layer, Ref<Buffer>&& buffer, const IntRect& sourceRect, const IntRect& mappedSourceRect, const IntRect& targetRect, float contentsScale) > { >+ buffer->beginPainting(); >+ > bool supportsAlpha = buffer->supportsAlpha(); > PaintingContext::paint(buffer, > [&layer, sourceRect, mappedSourceRect, targetRect, contentsScale, supportsAlpha] >@@ -65,6 +67,9 @@ bool PaintingEngineBasic::paint(GraphicsLayer& layer, Ref<Buffer>&& buffer, cons > > context.restore(); > }); >+ >+ buffer->completePainting(); >+ > return true; > } > >diff --git a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp >index 42fc2e4acdcb5bf100349d3011e0d9f68af6c030..3b708f8dac93360f2b7c17a8f6881d416fbdf1ed 100644 >--- a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp >+++ b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp >@@ -47,6 +47,7 @@ void CoordinatedBackingStoreTile::swapBuffers(TextureMapper& textureMapper) > } else if (m_buffer->supportsAlpha() == m_texture->isOpaque()) > m_texture->reset(m_tileRect.size(), m_buffer->supportsAlpha()); > >+ m_buffer->waitUntilPaintingComplete(); > m_texture->updateContents(m_buffer->data(), m_sourceRect, m_bufferOffset, m_buffer->stride()); > m_buffer = nullptr; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186764
: 342935