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

Support double precision #754

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

Naros
Copy link
Member

@Naros Naros commented Aug 16, 2024

Supersedes #450

@Naros Naros added this to the 2.2 milestone Aug 16, 2024
@Naros
Copy link
Member Author

Naros commented Aug 19, 2024

Hi @fire I have a new idea about double builds, from your point of view do we only need those for linux?

@fire
Copy link
Contributor

fire commented Aug 19, 2024

I don't understand? double precision should be in theory built for all platforms.

@Naros
Copy link
Member Author

Naros commented Aug 19, 2024

Ok, that's what I was also thinking, but I wanted to be sure.

To automate the delivery of double-precision builds, I think we can simply build godot-engine with the double-precision flag and dump the two API files that are needed for building godot-cpp with double-precision. I tested this process and it works quite well, particularly when we cache the godot-engine build.

The main question is how to orchestrate the build on CI. Obviously, we could set up the CI job to build both precisions in a single matrix and distribute a single plugin archive that has both, but my concern is the archive bundle's size given we'd duplicate each job for Linux, Windows, macOS, Android32, Android64, and Wasm32.

I was thinking since Godot does not officially distribute double builds, would it make sense to distribute a separate plugin artifact that contains specifically just the double-precision builds instead. The new Update Picker would have to be adjusted to handle this whereas a single distribution wouldn't affect it.

Whats your $0.02 worth @fire ?

@fire
Copy link
Contributor

fire commented Aug 19, 2024

I think there's a gap in how asset library handles double precision so the crucial thing is that I needed an official build of double-precision for my project, but the exact arrangement is up to you.

@aaronfranke
Copy link
Contributor

The upstream godot-cpp has renamed this variable to GODOT_PRECISION: godotengine/godot-cpp#1583

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

Successfully merging this pull request may close these issues.

3 participants