godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.92k stars 21.15k forks source link

[Godot 4.4 dev3] Fallback to OpenGL 3 not working on iPad 6th gen #98834

Open LuisEscorza opened 2 days ago

LuisEscorza commented 2 days ago

Tested versions

System information

Ipad 6th gen - iPad OS 17.5.1

Issue description

Title, I tried deploying and opening an app on an iPad 6th gen (iPadOS 17.5.1), but it doesn't work (manually setting the renderer from forward_plus or mobile to gl_compatibility does work, but it makes the fallback option completely pointless).

Console output on Xcode:

Godot Engine v4.4.dev3.official.f4af8201b - https://godotengine.org
Metal 3.1 - Forward Mobile - Using Device #0: Apple - Apple A10 GPU (Apple3)

MTLValidateFeatureSupport, line 6575: error 'Texture Cube Array is only supported on MTLGPUFamilyApple4 and later.'

MTLValidateFeatureSupport:6575: failed assertion 'Texture Cube Array is only supported on MTLGPUFamilyApple4 and later.'

Steps to reproduce

Export iOS project and open it.

Minimal reproduction project (MRP)

Can be tested with an empty project, as the fallback option in the project settings is enabled by default, so no MRP needed.

bruvzg commented 2 days ago

Fallback seems to only work if a specific rendering API is completely unsupported. Check of its capabilities is done after fallback checks (in rendering_device->initialize instead of rendering_context->initialize()). This is the same for all platforms.