RESOLVED FIXED Bug 236713
REGRESSION (iOS 15.4 beta): Inconsistent render to screen behavior
https://bugs.webkit.org/show_bug.cgi?id=236713
Summary REGRESSION (iOS 15.4 beta): Inconsistent render to screen behavior
fgn2.3ds
Reported 2022-02-16 09:32:48 PST
We have noticed some odd behavior on iOS 15.4 beta 2 on the selection shader of our app. It's supposed to draw blue lines around the selected model but doesn't behave that way in this new version. The rendering steps are: 1. Render things to the screen ( null framebuffer ) 2. Render data that will be used in step 3 to a specific render target 3. Render the blue lines to the screen ( null framebuffer ) by reading the render target filled in step 2. This step discards the pixels that should not be drawn in blue. For some reason, on iOS 15.4 beta 2 the screen seems to be cleared ( or at least not persisted ) between step 1 and step 3. So the pixels that should be blue are still blue but everything else is garbage. ( I've seen it be the clear color or full black ) I don't have a minimal repro case but our app HomeByMe exhibits it. If you follow this link with an Ipad ( probably won't work on Iphone ), select the asset in the middle and move the camera around you will see the problem. This same version of the app works perfectly on Safari 15.3, Chrome and Firefox. https://platform.by.me/?projectId=9358156&VP={%22Pos%22:[5888.697504997253,-3914.4912362098694,8771.067690849304],%22Sight%22:[-0.5888697504997253,0.39144912362098694,-0.7071067690849304],%22Up%22:[0,0,1],%22FOV%22:0.7853981633974483,%22Mode%22:1,%22Zoom%22:1,%22AroundCenter%22:[0,0,1700],%22AroundDistance%22:9999}&levelIndex=0 Let me know if you need more information François
Attachments
Radar WebKit Bug Importer
Comment 1 2022-02-16 22:09:04 PST
Kenneth Russell
Comment 2 2022-02-17 00:39:04 PST
It's possible that a couple of recent bug fixes in upstream ANGLE may have fixed this: https://bugs.chromium.org/p/angleproject/issues/detail?id=6923 https://bugs.chromium.org/p/angleproject/issues/detail?id=6972 These haven't rolled into WebKit yet though. Hopefully someone from Apple could try doing so on iOS and see if they help.
Kenneth Russell
Comment 3 2022-02-23 17:22:20 PST
This might be the same issue as Bug 237113, which has a much smaller reproduction and is related to preserveDrawingBuffer:true not working properly on iOS, or M1 hardware.
Kimmo Kinnunen
Comment 4 2022-02-24 04:02:34 PST
Thank you for the report! To recap the repro: - Rotate the scene. Observe scene rotate. - Select the asset in the middle (the crate). It will highlight blue - Rotate the scene. Observe the highlight blue rotate, but the scene stays put. I can repro this with the version reported, on iPad, on macOS (M1, Intel). The app does not use preserveDrawingBuffer:true. I cannot repro with trunk. Most likely bug 236427, bug 236733 fixes this. To the original reporter: If you have time, please retry on the newest seeds and report the observation there.
fgn2.3ds
Comment 5 2022-02-25 00:52:34 PST
I'm not sure what you mean by "the newest seeds". The only way we can test is with an Ipad so we would probably need some pointers on how to get the newest seeds on Ipad. Also, I will not be able to test myself as I'm leaving the company today but the relevant people have been forwarded this ticket. Thanks you for your help!
y3l
Comment 6 2022-03-07 02:35:21 PST
Hello, Unfortunately the issue is still reproducible in the latest version IOS 15.4 beta 5 (tests on iPhone XR). Could you confirm me that the patch should be on this version ?
Dean Jackson
Comment 7 2022-04-04 14:37:41 PDT
This was fixed by bug 238171
Brent Fulgham
Comment 8 2022-05-26 15:03:38 PDT
This fix shipped with Safari 15.5 (all platforms).
Note You need to log in before you can comment on or make changes to this bug.