godotengine / godot

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

Display Error on apple silicon when running editor #46328

Closed piiertho closed 3 years ago

piiertho commented 3 years ago

I saw that it was not really tested for now here but did not see if anyone already tested it.

Godot version:

Built from 3.2.3-stable in target debug for apple silicon.

OS/device including version:

MacOs BigSur 11.2, ARM.

Issue description:

When running in editor a working scene on other desktop platforms, got this logs and rendering is broken:

 drivers/gles3/shader_gles3.cpp:164 - SceneShaderGLES3: Vertex Program Compilation Failed:
ERROR: 0:471: Too many arguments to constructor of 'vec3'
ERROR: 0:471: Too many arguments to constructor of 'vec3'
ERROR: 0:471: Too many arguments to constructor of 'vec3'

 drivers/gles3/shader_gles3.cpp:347 - Method failed. Returning: __null
 drivers/gles3/shader_gles3.cpp:123 - Condition "!version" is true. Returned: false
 drivers/gles3/shader_gles3.h:389 - Condition "!version" is true. Returned: -1
 ...
ERROR: _display_error_with_code: SceneShaderGLES3: Vertex Program Compilation Failed:
ERROR: 0:471: Too many arguments to constructor of 'vec3'
ERROR: 0:471: Too many arguments to constructor of 'vec3'
ERROR: 0:471: Too many arguments to constructor of 'vec3'

   At: drivers/gles3/shader_gles3.cpp:164.
ERROR: get_current_version: Method failed. Returning: __null
   At: drivers/gles3/shader_gles3.cpp:347.
ERROR: bind: Condition "!version" is true. Returned: false
   At: drivers/gles3/shader_gles3.cpp:123.
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:389.

Steps to reproduce:

Build engine for apple silicon and start editor.

Minimal reproduction project:

Small scene like this one in editor should trigger it: https://github.com/utopia-rise/godot-jvm/blob/master/harness/tests/Spatial.tscn

Calinou commented 3 years ago

Built from 3.2.3-stable in target debug for apple silicon.

The 3.2.3-stable tag doesn't have Apple Silicon support. You need to build the latest 3.2 branch (which will be released as 3.2.4rc3 soon).

Calinou commented 3 years ago

@piiertho Can you try building the latest 3.2 branch from source and see if it works there?

piiertho commented 3 years ago

@Calinou just tried right now and got same error :/

ERROR: _display_error_with_code: SceneShaderGLES3: Vertex Program Compilation Failed:
ERROR: 0:478: Too many arguments to constructor of 'vec3'
ERROR: 0:478: Too many arguments to constructor of 'vec3'
ERROR: 0:478: Too many arguments to constructor of 'vec3'

   At: drivers/gles3/shader_gles3.cpp:164.
ERROR: get_current_version: Method failed. Returning: __null
   At: drivers/gles3/shader_gles3.cpp:347.
ERROR: bind: Condition "!version" is true. Returned: false
   At: drivers/gles3/shader_gles3.cpp:123.
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:389.
Calinou commented 3 years ago

cc @bruvzg

piiertho commented 3 years ago

It seems I messed up with my local builds on my macbook. I don't have it on 3.3-stable. It seems I messed up between repo with Kotlin and repo without Kotlin.