[Webkit-unassigned] [Bug 218401] [GPU Process] Flush canvas displayList from doAfterUpdateRendering

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 2 10:33:56 PST 2020


https://bugs.webkit.org/show_bug.cgi?id=218401

--- Comment #4 from Rini Patel <rini_patel at apple.com> ---
(In reply to Simon Fraser (smfr) from comment #2)
> Comment on attachment 412791 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=412791&action=review
> 
> > Source/WebCore/ChangeLog:8
> > +
> > +        No new tests (OOPS!).
> 
> This needs some explanation for the change. Remove the "No new tests" line.
> 
> > Source/WebCore/html/HTMLCanvasElement.cpp:373
> > +    if (m_context)
> > +        addObserver(document());
> 
> I don't think you should do this unconditionally. You should only do this
> when GPU Process is active. In fact, you should only do this when GPU
> Process is active, and drawing has occurred since the last flush.
> 
> > Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:310
> > +    bool needsPreparationForDisplay() const final { return true; }
> 
> This can't be unconditional. You should only return true when using the GPU
> backend. Ideally it would only return true if there is new drawing.

We only flush from flushDrawingContextAndCommit() if there're new items in display list after the last flush. Should that be enough?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20201102/31198465/attachment.htm>


More information about the webkit-unassigned mailing list