Summary: | Avoid sending a flush IPC to the GPU process when destroying a RemoteImageBuffer | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | Layout and Rendering | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | bfulgham, sabouhallawa, simon.fraser, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=228673 | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2022-04-26 20:33:23 PDT
Created attachment 458415 [details]
Patch
Comment on attachment 458415 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=458415&action=review > Source/WebCore/ChangeLog:8 > + No new tests (OOPS!). This should be removed before landing. > Source/WebCore/platform/graphics/ImageBuffer.h:101 > + virtual bool flushDrawingContextAsync() { return false; } It is not clear from the name what this function returns. Should it be renamed flushDrawingContextAsyncIfNeeded()? > Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:313 > + return false; The order in this function is a little bit hard to read. Can't it be rearranged like this: // Nothing to flush, return true if we need the caller to wait. if (!m_remoteDisplayList.needsFlush()) return hasPendingFlush(); // Do the flushing and tell the caller to wait. ... m_remoteDisplayList.flushContext(m_sentFlushIdentifier); ... return true; |