[Webkit-unassigned] [Bug 237113] New: REGRESSION (iOS 15.4 beta) - WebGL yields incorrect results when using preserveDrawingBuffer on iOS 15.4 Beta

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 23 14:35:21 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=237113

            Bug ID: 237113
           Summary: REGRESSION (iOS 15.4 beta) - WebGL yields incorrect
                    results when using preserveDrawingBuffer on iOS 15.4
                    Beta
           Product: WebKit
           Version: Safari 15
          Hardware: iPhone / iPad
                OS: iOS 15
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebGL
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: christoph at 8thwall.com
                CC: dino at apple.com, kbr at google.com, kkinnunen at apple.com

This is a regression between iOS 15.3.1 and 15.4.

It appears that preserveDrawingBuffer is not taking effect. When we render a three.js scene with:

const context = canvas.getContext('webgl', {preserveDrawingBuffer: true})
...
renderer.autoClear = false

We expect that each frame is rendered on top of the previous frame, without replacing it.

However, as can be see in this demo: https://codepen.io/cmb8/pen/bGYKPrP

We should see a check mark getting drawn, but instead, we only see the circle moving across the
screen, without leaving a trail.

The problem occurs for both 'webgl' and 'webgl2' in the getContext call.

Disabling "WebGL via Metal" in "Experimental WebKit Features" and relaunching Safari 
fixes the behavior.


Video of expected behavior: https://youtu.be/4EpijoQe_Kw

Video of unexpected behavior: https://youtu.be/YHNgSRgy8ag

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220223/a86f95a2/attachment.htm>


More information about the webkit-unassigned mailing list