-
Notifications
You must be signed in to change notification settings - Fork 927
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
Change how our raw-window-handle
dependency is exposed
#3075
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea.
This would be great! I'm currently stuck on rwh 0.4 due to using an older version of |
Thanks for the input, an extra data point to consider that maybe we should consider re-adding v0.4 support, in a deprecated form, and at least for a little while longer. May I ask why you're stuck on the older |
Oh I thought this was already re-adding support but it looks like it is not! FWIW it is not too much of a hassle for my case to add support in a fork.
We currently depend on the dx11 backend to support users with older devices. Since the rewrite to use wgpu-hal, dx11 support is not fully rebuilt yet so we have been using the version of wgpu from before that. Wgpu now also has an Angle backend that can run on dx11 but we found a few things missing for our case the last time we tried it and going through Angle adds additional overhead that is not ideal on the older more resource constrained devices that we attempt to support via dx11. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, let me know if you want me to do the Web implementation.
7f0b3ef
to
eb8dd0b
Compare
No thanks, I got it. I would like some input on how we should do our examples, now that they require the We could specify |
[dev-dependencies]
winit = { path = "", default-features = false, features = ["rwh-0-5"] } Is what I usually do. But that means you can't execute the examples without EDIT: |
You could add recent raw window handle into the default feature set, which is what it should be, the previous versions should be enabled on demand. |
The problem is that the current version could easily change many times while the version of But I guess it'd be much more pragmatic. |
@madsmtm feature set change is a breaking change. The default feature should be the one of the latest non-breaking release. it's not like you just specify |
I think this is all implemented now? |
raw-window-handle
has yet to reach v1.0, and I doubt it will do so in the near future. This causes many problems to downstream users, as they must upgrade theirwinit
version in lockstep with theirwgpu
(or similar) version.In the past, we've been able to do the semver trick in
raw-window-handle
, but with the current API that's no longer possible.So, until
raw-window-handle
becomes stable, I propose we make dependency on any version ofraw-window-handle
optional, and behind it's own feature flag, to make it possible for the user to select the version that they want.This allows us to provide a much better support strategy, where instead of immediately removing support for older versions of
raw-window-handle
and forcing users to upgrade their rendering library, we instead slowly deprecate, perhaps over several releases if deemed necessary.TODO:
CHANGELOG.md