Bug 225959 - [GPU Process] Delete GraphicsContext::clipToDrawingCommands()
Summary: [GPU Process] Delete GraphicsContext::clipToDrawingCommands()
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Said Abou-Hallawa
URL:
Keywords: InRadar
Depends on: 235758
Blocks: 236508
  Show dependency treegraph
 
Reported: 2021-05-18 22:46 PDT by Said Abou-Hallawa
Modified: 2022-02-27 16:06 PST (History)
16 users (show)

See Also:


Attachments
Patch (45.36 KB, patch)
2021-05-18 22:50 PDT, Said Abou-Hallawa
ews-feeder: commit-queue-
Details | Formatted Diff | Diff
Patch (54.01 KB, patch)
2021-05-18 23:22 PDT, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (93.40 KB, patch)
2022-01-28 19:39 PST, Said Abou-Hallawa
ews-feeder: commit-queue-
Details | Formatted Diff | Diff
Patch (90.79 KB, patch)
2022-01-28 19:49 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch for review (48.88 KB, patch)
2022-01-28 21:05 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (52.15 KB, patch)
2022-02-10 01:47 PST, Said Abou-Hallawa
darin: review+
Details | Formatted Diff | Diff
Patch (52.43 KB, patch)
2022-02-10 11:35 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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].