Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e203798dcce88cf721d6c2061ca00a63b9811c3d
https://github.com/WebKit/WebKit/commit/e203798dcce88cf721d6c2061ca00a63b9811c3d
Author: Matt Woodrow <[email protected]>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.h
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.mm
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.mm
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.h
Log Message:
-----------
Corrupt/missing tile content on tab switch.
https://bugs.webkit.org/show_bug.cgi?id=268025
<rdar://121488303>
Reviewed by Simon Fraser.
Creating a flusher for a RemoteLayerBackingStore now waits for backend handles
to
be delivered as well as flushing any drawing. We need to call this even when
the dirty
region is empty, so that we get handles delivered.
Adds an enum to describe what we want to wait for, so that can avoid flushing
the drawing
(or creating a flusher entirely) if no drawing commands have been issued.
https://bugs.webkit.org/show_bug.cgi?id=267749 (PR #22958) adds a test that
will catch this.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::paintContents):
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.h:
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.mm:
(WebKit::RemoteLayerWithInProcessRenderingBackingStore::createFlusher):
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h:
*
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStore::createFlusher):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp:
(WebKit::RemoteImageBufferSetProxyFlushFence::create):
(WebKit::RemoteImageBufferSetProxyFlushFence::waitFor):
(WebKit::RemoteImageBufferSetProxyFlushFence::tryTakeEvent):
(WebKit::RemoteImageBufferSetProxyFlushFence::RemoteImageBufferSetProxyFlushFence):
(WebKit::RemoteImageBufferSetProxy::flushFrontBufferAsync):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.h:
Canonical link: https://commits.webkit.org/273475@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes