Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e203798dcce88cf721d6c2061ca00a63b9811c3d https://github.com/WebKit/WebKit/commit/e203798dcce88cf721d6c2061ca00a63b9811c3d Author: Matt Woodrow <mattwood...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes