Bug 252795
Summary: | [WebGL] Avoid using glReadPixels to paint WebGL canvas into 2D canvas | ||
---|---|---|---|
Product: | WebKit | Reporter: | Dan Glastonbury <djg> |
Component: | WebGL | Assignee: | Dan Glastonbury <djg> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | dino, Hironori.Fujii, kbr, kkinnunen, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | Other | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Dan Glastonbury
Current codepath works like:
* Send request to read the back buffer to a pixel-buffer
* Create native image from pixel-buffer
* Draw native image to context 2D
We should try to do better especially when GPUP is enabled because this leads to:
* WP: Send request to read the back buffer to a pixel buffer
* GPUP: glReadPixels to a malloc buffer (WebCore::PixelBuffer)
* GPUP: Send the pixel buffer to WP
* WP: Creates native image out of that, sends that to GPUP
* GPUP: draws that native image to Context2D back-buffer
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Dan Glastonbury
<rdar://87173127>
Dan Glastonbury
Pull request: https://github.com/WebKit/WebKit/pull/10560
EWS
Committed 262518@main (50ae4e81ccce): <https://commits.webkit.org/262518@main>
Reviewed commits have been landed. Closing PR #10560 and removing active labels.
Fujii Hironori
Regressed: Bug 254942 – REGRESSION(262518@main) [cairo] Crash under GraphicsContextGL::paintToCanvas