Summary: | Have ImageBuffer store the RenderingPurpose, and send it to the GPU process | ||||||
---|---|---|---|---|---|---|---|
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 | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2022-04-06 13:47:36 PDT
Created attachment 456857 [details]
Patch
Comment on attachment 456857 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=456857&action=review > Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:452 > + RenderingPurpose purpose = m_imageBuffer ? m_imageBuffer->renderingPurpose() : RenderingPurpose::DOM; I could not understand what this statement means.When can m_imageBuffer be null? And why do we use m_imageBuffer->renderingPurpose() or RenderingPurpose::DOM as the renderingPurpose of the new compatible ImageBuffer? Suppose RemoteDisplayListRecorderProxy was created for RenderingPurpose::Canvas and we are creating a compatible ImageBuffer for SVG clipper, why is this ImageBuffer created with RenderingPurpose::Canvas? I tried plumbing RenderingPurpose through more but it got out of hand. Landing the patch with a FIXME. https://trac.webkit.org/changeset/292557/webkit |