-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Can't run Godot OpenGL 3 on ATI Radeon HD 3650 since shader cache addition #78888
Comments
That is indeed a pretty old GPU, looks like from around 2008. Driver quality and support for this old cards can be pretty spotty, but if it worked previously it might be worth checking out if Godot GLES3 code does something wrong or if we just hit a driver bug with some change. If things (mostly) worked in 4.1-dev1_win64 and stopped working in 4.1-dev2_win64, the change is possibly something in this list: https://godotengine.github.io/godot-interactive-changelog/#4.1-dev2 There are a few OpenGL / GLES3 changes there that could potentially cause this. I assume that even the Godot project manager doesn't start when using the newer Godot releases, and not just your project? You can post the log here as file attachments by drag and dropping, you can usually find the most recent log files in |
As there were many files from many different versions, I deleted all the contents of the folder "%APPDATA%\Godot\app_userdata[project_name]\logs" to do a clean test. Then I started "Godot_v4.1-rc2_win64" to see exactly what files it created there, and to my surprise, no LOG file was created, just 2 files in the following folders "shader_cache > CopyShaderGLES3" and "shader_cache > SceneShaderGLES3" . Also several empty folders were created, but no other files and nothing from the LOG. Because of this, I did a test and directed/pipe the output of the executable to a text file: I did the same process above with all the other 4.1*** versions, and they all generated just the same 2 files mentioned above. ---> The Only One that work: I believe it has something to do with that. As no LOG file was created too, I did the same above and directed the output to a text file: ---> But for now, I'll keep studying and learning on 4.1-dev1 maybe on 4.0.3 stable, until I can buy a better Video Card. I appreciate your attention @bitsawer, because I didn't know where the godot folders/files were, and I didn't even know the github changelog, thank's. ===> NEW EDITED <=== |
Thanks for the logs and the investigation, that's pretty good. It seems likely indeed that the shader cache is what doesn't work on your hardware. There seems to be shader errors both in 4.1-dev1 and in later builds, but somehow those errors didn't prevent rendering things in dev 1. They might however be considered critical for saving/loading the shader cache? Or maybe the shader cache relies on a core OpenGL function, or an extension, which is not properly implemented on your drivers. |
If someone can do and host a custom build with those GLES3 commits reverted, it could be pretty easy to test if they are the cause of the regression. Also, looks like the two shader compiler error line numbers in the screenshot match these lines: godot/drivers/gles3/shaders/scene.glsl Line 549 in 4642448
godot/drivers/gles3/shaders/scene.glsl Line 557 in 4642448
Looks like the shader compiler seems to think that MAX_FORWARD_LIGHTS
is not a constant integer expression, maybe it thinks it's cast/scalar constuctor or something? Possible driver shader compiler bug/difference? I wonder if changing it and some loop variables using it to 8 or 8u would fix some compile issues? Other similar defines in the log seem to use normal integers. Probably not related to this issue, but an interesting observation. |
I cant see in the logs (they are truncated) why would the shader cache fail here. instead of:
try this:
regardless, like @bitsawer said, there is some issue compiling the shader which causes this weird state to begin with. |
There should be improvements for this type of hardware in Godot 4.2, as we now integrated ANGLE as an alternative to the native OpenGL drivers which are often buggy on Windows for those old chipsets. Could you test and let us know whether it works? I'm not sure if it would pick up ANGLE by default, so you might have to pass |
I have tested the changes on ATI Radeon HD 4870 graphics card with success. Passed ERROR: SceneShaderGLES3: Fragment shader compilation failed: Went to Project Settings > Toggled "Advanced Settings" to ON. Rendering > GL Compatibility > Changed the driver to opengl3_angle for my platform (Windows). Restarted Godot and the scene ran successfully. Thanks for all the improvements and changes. |
Thanks for testing! So we still need to add more heuristics to detect this type of card and default to |
These GPUs are a bit too old even for ANGLE (not fully supporting DX11), so some stuff might be still broken. Based on other reports, I think we can safely force ANGLE on everything pre GCN 4th gen. |
Godot version
4.1 (many ver.)
System information
Windows 10 - 4.1 (many ver.) - OpenGL 3.3 compatibility
Issue description
I installed several versions of godot to test, as I have a very old computer.
i don't know if this is a BUG, or just my OLD Hardware be incompatible.
HARDWARE:
intel q6600 quadcore, 4gb ram, windows 10(last update), ATI Radeon HD 3650 - 512mb VRAM.
OpenGL Extensions Viewer 6.4.1.1:
OpenGL Version 3.3 (3.3.11672 core profile forward-compatible context)
Driver Version: 8.970.100.9001 (13-jan-15)
DirectX: 10.1, 9
Shader model: 4.1
Vulkan: N/A
VERSIONS TESTED and WORK fine:
3.5.2stable_win64 -> OK (NO extra cmds prompt needed)
3.6beta2_win64 -> OK (NO extra cmds prompt needed)
4.0.3stable_win64 -> OK with some errors but work
4.1-dev1_win64 -> OK with some error but work (see image TOP)
VERSIONS TESTED and ALL THAT NOT WORK:
4.1-beta1_win64 -> don't launch
4.1-beta2_win64 -> don't launch
4.1-beta3_win64 -> don't launch
4.1-dev2_win64 -> don't launch
4.1-dev3_win64 -> don't launch
4.1-dev4-win64 -> don't launch
4.1-rc1_win64 -> don't launch
4.1-rc2_win64 -> don't launch (see image Bottom)
I would really like to use the latest version (4.1rc2) and later/future the 4.1 stable , but I couldn't get last version it to work at all, not even loading a project directly into the editor.
i have a screenshot showing the las lines of prompt (top is working "4.1_dev1", botton don't work "4.1_rc2)
if you need any LOG or other file with details, please let me know which one, and how preferably.
Steps to reproduce
I don't know what to put here, I explained the best way possible in the description of the problem.
Minimal reproduction project
N/A
The text was updated successfully, but these errors were encountered: