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

[Tracking Issue] Updating wgpu to 0.7 #721

Closed
mitchmindtree opened this issue Apr 13, 2021 · 1 comment · Fixed by #726
Closed

[Tracking Issue] Updating wgpu to 0.7 #721

mitchmindtree opened this issue Apr 13, 2021 · 1 comment · Fixed by #726
Labels

Comments

@mitchmindtree
Copy link
Member

Here is the CHANGELOG entry for wgpu-rs. Some exciting stuff in there like early WGSL support and better error messages which might help to solve issues like #719.

Updating conrod_wgpu

The first step is to update conrod_wgpu to also target version 0.7. I've made a couple of short, failed attempts at this so far.

From memory, after running cargo update, one of rusttype's dependencies had broken for some reason or another, so I tried updating rusttype itself. Unfortunately one of the APIs that rusttype provided was removed in the latest version as it was assumed no-one was using it 😱

This lead me to refactor conrod_core's text rendering a little to avoid needing the API, which turned out for the better and should result in slightly better performance. However, along with the removal of the API, another issue was introduced in rusttype that made it impossible to console the lifetime requirements between PositionedGlyphs yielded by the Font::layout and the GPU Cache type.

This has since been fixed in master, however it turns out that rusttype has been looking for a maintainer for the last year and it is unlikely these changes will be published until someone steps up. Unfortunately, I already have crates coming out my ears and don't think it would be healthy for me to take on another. If anyone reading this would like to take it on please consider commenting at the repo!

The previous rusttype maintainer alludes to a successor crate called ab_glyph which boasts slightly better performance. Both conrod and nannou lean on rusttype quite heavily for text layout, and I must admit that I'm not particularly excited about the idea of rewriting of conrod's text layout and rendering to use ab_glyph just to update from wgpu 0.6 to 0.7, particularly as I would like to eventually replace conrod with nannou_ui and could be spending this time doing so.

I'm unsure of how to progress from here just yet. More than likely I'll end up raising my hand to help maintain rusttype temporarily... at least until we no longer depend on conrod for UI support.

@mitchmindtree
Copy link
Member Author

Ahh, it seems the issue with the rusttype 0.8 dependency has since been resolved - I've landed those rusttype changes now and am currently looking into @yutannihilation's PR here PistonDevelopers/conrod#1410.

mitchmindtree added a commit to mitchmindtree/nannou that referenced this issue Apr 15, 2021
mitchmindtree added a commit to mitchmindtree/nannou that referenced this issue Apr 15, 2021
mitchmindtree added a commit to mitchmindtree/nannou that referenced this issue Apr 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant