Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLES3 Renderer fails on linux devices when testing browser exports. #75913

Closed
MossFrog opened this issue Apr 10, 2023 · 10 comments
Closed

GLES3 Renderer fails on linux devices when testing browser exports. #75913

MossFrog opened this issue Apr 10, 2023 · 10 comments

Comments

@MossFrog
Copy link

MossFrog commented Apr 10, 2023

Godot version

3.5.2 and 3.5.1 Both Don't Work

System information

Fedora / X11 Desktop Renderer / Chromium Latest / AMD GPU

Issue description

GLES3 Exports fail to render meshes on web exports running on linux machines, tested on mobile android devices and this issue is not present. Tested Godot versions 3.5.1 and 3.5.2 both seem to fail. Tested multiple projects with and without textures the issue persists and no meshes are rendered. I think the GLES3 Shader fails to compile when running in a web environment since the rendering is fine when done locally through the play/play scene buttons. Tested multiple browsers including chromium and opera.
Screenshot from 2023-04-11 01-41-03

Screenshot from 2023-04-11 01-40-43

Steps to reproduce

Create an empty project, add in any basic mesh instance and a camera to view it, export for HTML5 and test the game export in any browser on a linux machine (I'm running fedora but I assume they all have similar rendering pipelines) Other WEBGL 2.0 features work fine on the machine for the browser.

Minimal reproduction project

Any basic project will suffice.

This issue might be related -> #73799
This too if it uses a similar pipeline -> #75054

@MossFrog
Copy link
Author

Capture1.webm

Above the project is running through the editor just fine.

Below is the corresponding web export.

Screenshot from 2023-04-11 01-47-38

@Calinou
Copy link
Member

Calinou commented Apr 11, 2023

Which graphics card model and driver version are you using?

@MossFrog
Copy link
Author

Radeon RX6700 10GB
I have attached an image of the current drivers running on the machine.
image

@lawnjelly
Copy link
Member

lawnjelly commented Apr 11, 2023

The defines at the top of the shader look to be bogus:

#define MAX_LIGHT_DATA_STRUCTS -10066329
etc
render_list.max_lights = GLOBAL_DEF("rendering/limits/rendering/max_renderable_lights", (int)RenderList::DEFAULT_MAX_LIGHTS);

state.max_ubo_lights = MIN(render_list.max_lights, max_ubo_size / ubo_light_size);

state.scene_shader.add_custom_define("#define MAX_LIGHT_DATA_STRUCTS " + itos(state.max_ubo_lights) + "\n");

This could break if rendering/limits/rendering/max_renderable_lights is a negative value. Something in these calculations looks to be going wrong.

Will debug if I get some time, or else anyone else can debug maybe put some print_line s in web build or something like that.

@lawnjelly lawnjelly added this to the 3.x milestone Apr 11, 2023
@MossFrog
Copy link
Author

Any way I can be of help? I don't get why this issue is not present when the build is being run on an android device though? Are the max_renderable_lights provided by the device the browser is running on?

@sammypanda
Copy link

sammypanda commented Sep 21, 2023

+1

Godot 4.0.2

I have the same issue on my development machine, Radeon 6600XT (I'm currently on Desktop NixOS)

Found the exact same export works fine when hosted/ran on ChromeOS (Intel Celeron N3350, Integrated Graphics)

@Calinou
Copy link
Member

Calinou commented Sep 21, 2023

Godot 4.0.2

Please test this on 4.1.1 or (ideally) 4.2.dev5, as 4.0.2 is no longer supported.

@bitsawer
Copy link
Member

This might have been fixed in Godot 4.x OpenGL Compatibility renderer by #80909. The fix could be possibly ported to Godot 3.x as well.

@lawnjelly
Copy link
Member

Yes this looks like the same bug as #80909. 👍

@akien-mga
Copy link
Member

Should be fixed by #83031.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants