godot icon indicating copy to clipboard operation
godot copied to clipboard

[4.3-stable] MacOS 15.0.1 Sequoia's safari does not work with viewport and caused it frozen.

Open Kakcalu13 opened this issue 1 year ago • 1 comments

Tested versions

IOS 18.0.1

Chrome: image

Safari: image

  • Reproducible in 4.2, 4.2.2, 4.3, 4.3.dev1

System information

Godot v4.3.stable - macOS 15.0.1 - GLES3 (Compatibility) - Apple M1 - Apple M1 (8 Threads)

Issue description

All of my Godot games crashed in the cloud on my iPhone and Mac after I upgraded both. I found the issue after a week of figuring. My Linux (20.04), Windows (8, 10, 11), and other Macs (older versions which is 14.3) don't have this issue. The Mac I'm using right now, where I'm typing to you, is already upgraded to the latest version, which is 15.0.1. I can't see my project due to a SubViewportContainer issue. There are no error logs in HTML5. I was able to see it in Chrome but not in Safari. My iPhone couldn't see the data either. See the video:

https://drive.google.com/file/d/1B40qT4eeABohT4miUnMhjiavpCuOUWfe/view?usp=sharing

The right browser is Chrome, and the left browser is Safari.

There are two lines that I can reproduce, and I have this in a zip file as well.

var white_rectangle = $SubViewportContainer/SubViewport/ColorRect # BUG HERE
# var white_rectangle = $ColorRect # WORKING

If you comment out the first line and uncomment the second, you will see it working in Safari. However, when you comment out the second line and uncomment the first, you will see the bug without any error logs.

First line is inside the node called subviewport node. The second line is outside of the node called SubViewPort.

Steps to reproduce

  1. run HTML tester in safari on 15.0.1 Mac OS only
  2. comment the first line out and uncomment the second line and then re-run html5 export.

Minimal reproduction project (MRP)

rendering_bug.zip

Kakcalu13 avatar Oct 18 '24 22:10 Kakcalu13

It is worth adding that on IOS, all browsers are essentially reskins of Safari due to Apples policies, so essentially its just Safari that is affected across all Apple devices. Testing Chrome on Mac OS (which actually is Chrome and not a Safari reskin) works correctly

Amir-Rasteg avatar Oct 21 '24 15:10 Amir-Rasteg

Mac OS 15.1 persists

Kakcalu13 avatar Oct 28 '24 18:10 Kakcalu13

I have a similar (possibly the same) issue where the functionality of SubViewport appears to be broken on Safari 18.1.1 (MacOS 15.1.1). Specifically, when projecting a Camera3D to a SubViewport and sampling pixels from the resulting texture, I always get black/transparent values in safari whereas in other browsers I get the expected pixel values corresponding to the camera's field of view.

shevisj avatar Nov 25 '24 22:11 shevisj

I encountered this issue. SubViewportContainer renders only first frame, and never updates the rendering again. And I confirmed that Godot itself continues to run, so I believe this is a rendering issue.

TokageItLab avatar Dec 08 '24 19:12 TokageItLab

Is there a workaround?

statico avatar Jan 22 '25 17:01 statico