Bug 256535
| Summary: | [GPU Process][Filters] Top level SVGFilter should own its FilterResults | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Said Abou-Hallawa <sabouhallawa> |
| Component: | Layout and Rendering | Assignee: | Said Abou-Hallawa <sabouhallawa> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bfulgham, simon.fraser, webkit-bug-importer, zalan |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | |||
| Bug Blocks: | 232845 | ||
Said Abou-Hallawa
This will allow caching the FilterResults along with the SVGFilter in RemoteResourceCache. The solution has to consider the following cases for the SVGFilter & FilterResults:
a. SVGFilter is created in WebProcess:
1. Rendering in WebProcess:
i. Top level SVGFilter: SVGFilter creates its FilterResults. SVGFilter caches its FilterResults (will be implemented by this bug).
ii. Referenced SVGFilter: SVGFilter should not create FilterResults.
2. Rendering in GPUProcess:
i. Top level SVGFilter: SVGFilter should not create FilterResults (will be fixed by this bug).
ii. Referenced SVGFilter: SVGFilter should not create FilterResults.
b. SVGFilter is created in GPUProcess:
1. Rendering in GPUProcess:
i. Top level SVGFilter: SVGFilter creates its FilterResults (Memory has to be attributed to WebProcess). SVGFilter caches its FilterResults (will be implemented in another bug).
ii. Referenced SVGFilter: SVGFilter should not create FilterResults.
To do that GraphicsContext::drawFilteredImageBuffer() has to take FilterResultsEnsurer which returns FilterResults&. drawFilteredImageBuffer() will call it only when the FilterResults is needed. SVGFilter::ensureResults() will return FilterResults& and it takes FilterResultsCreator. FilterResultsCreator will return a std::unique_ptr<FilterResults> which SVGFilter will maintain.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/109107572>
Said Abou-Hallawa
Pull request: https://github.com/apple/WebKit/pull/587
Said Abou-Hallawa
Pull request: https://github.com/WebKit/WebKit/pull/13652
Said Abou-Hallawa
Pull request: https://github.com/WebKit/WebKit/pull/13676
EWS
Committed 263996@main (b860110f0ae4): <https://commits.webkit.org/263996@main>
Reviewed commits have been landed. Closing PR #13676 and removing active labels.