Bug 272455
| Summary: | [GTK][WPE] Ensure that WebGL changes request a single composition | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Miguel Gomez <magomez> |
| Component: | WebKitGTK | Assignee: | Miguel Gomez <magomez> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Miguel Gomez
When there are WebGL changes, the canvas indicates that it needs to be displayed, which triggers a layerFlush:
- During this layerflush, Nicosia::GCGLANGLELayer::swapBuffersIfNeeded() is called, which pushes a new buffer into TextureMapperPlatformLayerProxy[GL|DMABuf]. In response to this, the proxy requests a composition directly to the compositor to show the new content.
- At the end of the layerFlush, a composition to show the modified content is always made.
- This causes that we have 2 compositions requested. Depending on the conditions, these two requests can be merged into a single one or trigger two different compositions, which is a waste or resources and can desync the equilibrium between the main thread and the composition.
We need to ensure that WebGL changes request a single composition.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Miguel Gomez
Pull request: https://github.com/WebKit/WebKit/pull/27078
EWS
Committed 277366@main (8ce70fa03821): <https://commits.webkit.org/277366@main>
Reviewed commits have been landed. Closing PR #27078 and removing active labels.