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

Remove the spirv-std dependency #189

Merged
merged 1 commit into from
Jun 1, 2021

Conversation

khyperia
Copy link
Contributor

@khyperia khyperia commented Jun 1, 2021

Sorry for the churn of effectively reverting #142! Our reasoning:

In the glorious sparkly far future, when spirv-std is effectively merged into std and everything is stable and unchanging, it makes sense for glam to depend on spirv-std, and for spirv-std to be completely agnostic. It is called spirv-std, after all, and things should depend on it, rather than the other way around. However, today is not the glorious sparkly far future, and there are very real issues caused by the speed at which spirv-std (and rustc_codegen_spirv) is changing. We were too optimistic, and realized after a couple months of dealing with the situation that the old system was way better. For example, if a user depends on rust-gpu HEAD, but references a glam version that isn't referencing back to the same version of rust-gpu, really difficult to diagnose problems occur. Of course, cargo patches exist, and is what we've been using, but it's all just a mess and it'd be nice if it "just worked", always. Having to update glam every time we make a rust-gpu release is also tough, and it'd be super nice if we didn't have to.

So for now, we'd like to flip the dependency arrow again, and make spirv-std depend on glam. It'd still be fully generic and accepting of any vector library, basically all that's changing is moving these trait impls to spirv-std (perhaps behind a glam feature flag), and other vector libraries could still implement these traits.

On glam's side, this is kinda nice because stable semvers depending on alpha versions of crates is... I don't think it's against semver, but it's certainly pretty sketchy, and it's nice to just avoid that weirdness entirely.

@bitshifter bitshifter merged commit 5435e1e into bitshifter:master Jun 1, 2021
@bitshifter
Copy link
Owner

No worries, I'm happy to support the rust-gpu and spirv-std efforts.

@khyperia khyperia deleted the remove-spirv-std-dep branch June 1, 2021 20:46
@bitshifter
Copy link
Owner

@khyperia I've released glam 0.16.0 with this change in it.

@khyperia
Copy link
Contributor Author

khyperia commented Jun 6, 2021

Awesome, thanks so much!

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.

2 participants