-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
Consider always saving the rendering API name #37645
Comments
Wouldn't you be able to just infer the rendering API? For example:
|
No, because this code:
will return "Vulkan" for projects using GLES 3, since |
No version of the engine currently allows for both Vulkan and GLES3. If we hypothetically re-added GLES3 in the future it would be saved as it isn't the default rendering API. |
The issue is with newer versions of the engine reading projects from different engine versions. |
So the problem would arise if we decided to ship a version of Godot that supported Vulkan, GLES2 and GLES3 and users wanted to upgrade a project from 3.2, but were on a device that supports GLES3 but not Vulkan? |
It's useful any time the default API changes (which has so far happened for both Godot 3.0 and 4.0). There is currently no way to definitively determine the rendering API used in a project unless you also know what version of Godot was used to make the project. |
I agree that some settings which have a big impact on the project should always be serialized, even when using a default value, so that we can also change default values in the future without breaking projects. For example:
Reviewing the list, I can't think of others that would benefit from this. |
For a solution to this, I have this commit, but if #32144 is merged then we can store a |
Just wanted to point out that my comments haven't aged well now that we are considering have GLES2, GLES3, and Vulkan backends. :P |
If you set a project to use GLES 2, this is saved in the
project.godot
file:However, this string is not saved with a GLES 3 project in Godot 3.2, or in a Vulkan project in the current master. I think it would make sense for this string to always be saved.
This would help with #31171, since we could use this information to show warnings in the project manager if the project is using an unsupported API, such as if the list of rendering APIs in Godot changes in the future (ex: Opening a 3.2 GLES 3 project in Godot 4.0), or if compiling for a platform without specific APIs (ex: We'd want to show warnings for Vulkan projects if you tried to open them on a possible future
Raspberry Piuh, non-Vulkan version of Godot).The text was updated successfully, but these errors were encountered: