Bug 238887 - Have ImageBuffer store the RenderingPurpose, and send it to the GPU process
Summary: Have ImageBuffer store the RenderingPurpose, and send it to the GPU process
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-04-06 13:47 PDT by Simon Fraser (smfr)
Modified: 2022-04-07 13:16 PDT (History)
5 users (show)

See Also:


Attachments
Patch (37.13 KB, patch)
2022-04-06 13:50 PDT, Simon Fraser (smfr)
sabouhallawa: review+
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2022-04-06 13:47:36 PDT
Have ImageBuffer store the RenderingPurpose, and send it to the GPU process
Comment 1 Simon Fraser (smfr) 2022-04-06 13:50:23 PDT
Created attachment 456857 [details]
Patch
Comment 2 Said Abou-Hallawa 2022-04-06 14:21:01 PDT
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?
Comment 3 Simon Fraser (smfr) 2022-04-07 13:15:32 PDT
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
Comment 4 Radar WebKit Bug Importer 2022-04-07 13:16:17 PDT
<rdar://problem/91440114>