Bug 225959

Summary: [GPU Process] Delete GraphicsContext::clipToDrawingCommands()
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: CanvasAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, changseok, darin, dino, esprehn+autocc, ews-watchlist, fmalita, fred.wang, glenn, gyuyoung.kim, kondapallykalyan, pdr, schenney, sergio, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=217026
https://bugs.webkit.org/show_bug.cgi?id=222230
https://bugs.webkit.org/show_bug.cgi?id=222881
https://bugs.webkit.org/show_bug.cgi?id=237261
Bug Depends on: 235758    
Bug Blocks: 236508    
Attachments:
Description Flags
Patch
ews-feeder: commit-queue-
Patch
none
Patch
ews-feeder: commit-queue-
Patch
none
Patch for review
none
Patch
darin: review+
Patch none

Description Said Abou-Hallawa 2021-05-18 22:46:31 PDT
If the underlying ImageBuffer of a GraphicsContext is a RemoteImageBufferProxy, ImageBuffer::createCompatibleBuffer() should create a RemoteImageBufferProxy. This will fix things like clipToDrawingCommands. This methods and its corresponding DisplayList items can be removed. The masking ImageBuffer will be remote. All the clipping commands will be recorded and sent to the GPUP. The caller in the WeP can just call clipToImageBuffer(). This will apply the drawing commands to the mask ImageBuffer in the GPUP. And then the masking ImageBuffer will be used to clip the original ImageBuffer.
Comment 1 Said Abou-Hallawa 2021-05-18 22:50:29 PDT
Created attachment 429033 [details]
Patch
Comment 2 Said Abou-Hallawa 2021-05-18 23:22:35 PDT
Created attachment 429035 [details]
Patch
Comment 3 Radar WebKit Bug Importer 2021-05-25 22:47:20 PDT
<rdar://problem/78495380>
Comment 4 Said Abou-Hallawa 2022-01-28 19:04:21 PST
I am going to repurpose this bug for deleting the GraphicsContext::clipToDrawingCommands() and make it blocked by bug 235758.
Comment 5 Said Abou-Hallawa 2022-01-28 19:39:45 PST
Created attachment 450303 [details]
Patch
Comment 6 Said Abou-Hallawa 2022-01-28 19:49:55 PST
Created attachment 450304 [details]
Patch
Comment 7 Said Abou-Hallawa 2022-01-28 21:05:16 PST
Created attachment 450308 [details]
Patch for review
Comment 8 Darin Adler 2022-02-03 04:27:25 PST
Comment on attachment 450308 [details]
Patch for review

Need a new try that passes EWS
Comment 9 Said Abou-Hallawa 2022-02-10 01:47:09 PST
Created attachment 451506 [details]
Patch
Comment 10 Said Abou-Hallawa 2022-02-10 11:05:23 PST
This patch is reverting the following revisions:

r267742
r273291
r277715
Comment 11 Said Abou-Hallawa 2022-02-10 11:35:27 PST
Created attachment 451584 [details]
Patch
Comment 12 Said Abou-Hallawa 2022-02-10 11:38:18 PST
(In reply to Said Abou-Hallawa from comment #11)
> Created attachment 451584 [details]
> Patch

Forgot to remove the unused member RemoteDisplayListRecorder::m_maskImageBuffer.
Comment 13 EWS 2022-02-10 16:28:31 PST
Committed r289594 (247107@main): <https://commits.webkit.org/247107@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451584 [details].