| Summary: | REGRESSION(261130@main): Canvas putImageData draws onto wrong canvas | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | bitbof | ||||
| Component: | Canvas | Assignee: | Kimmo Kinnunen <kkinnunen> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Major | CC: | dino, heycam, kkinnunen, sabouhallawa, simon.fraser, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Safari 16 | ||||||
| Hardware: | All | ||||||
| OS: | Unspecified | ||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=252987 | ||||||
| Attachments: |
|
||||||
|
Description
bitbof
2023-04-30 10:51:58 PDT
I can reproduce (only when UI-side compositing is disabled). This is a regression of 261130@main. Commenting this if-statement in RemoteImageBufferProxy::putPixelBuffer() fixes the issue. if (canMapBackingStore()) { const_cast<RemoteImageBufferProxy&>(*this).flushDrawingContext(); ImageBuffer::putPixelBuffer(pixelBuffer, srcRect, destPoint, destFormat); // Simulate a write so that read caches are cleared. // FIXME: This should not be done via the context draw, as that induces a flush. context().fillRect({ }); return; } Thanks for the investigation. I'll fix it unless Said has started.. Pull request: https://github.com/WebKit/WebKit/pull/13689 Committed 263978@main (a658f97638bf): <https://commits.webkit.org/263978@main> Reviewed commits have been landed. Closing PR #13689 and removing active labels. |