Bug 218186
| Summary: | CanvasCaptureMediaStreamTrack enables WebGL drawing buffer preserving and changes clear semantics | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Kimmo Kinnunen <kkinnunen> |
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | dino, jonlee, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=218187 https://bugs.webkit.org/show_bug.cgi?id=217211 |
||
Kimmo Kinnunen
CanvasCaptureMediaStreamTrack enables WebGL drawing buffer preserving
This changes de-facto observable behavior, as websites expect rAF to prepare the drawing buffer for display.
Web sites in general sometimes depend on the buffer clearing semantics.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Kimmo Kinnunen
Marking as blocking WebGL GPU Process work, since this is buggy that would need to be implemented in remote WebGL.
This should be instead fixed by introducing a canvas monitoring callback for drawing buffer prepare and calling that before the buffer is being prepared for display.
Radar WebKit Bug Importer
<rdar://problem/70946812>
Kimmo Kinnunen
So the purpose of the feature is to take the webgl canvas contents and send it through webrtc, if I understand correctly.
What the implementation does is:
1) Turn on WebGL "preserve drawing buffer" flag of the webgl context.
2) Takes a snapshot of the webgl canvas contents at random point in time after each modification when the execution drops to main loop
3) send that picture over webrtc
Steps 1 and 2 are not good.