-
Notifications
You must be signed in to change notification settings - Fork 192
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
Deprecation notice of VkDeviceCreateInfo enabledLayerCount and ppEnabledLayerNames #670
Comments
Sounds reasonable to me! |
@charles-lunarg good catch, thanks for bringing this to our attention! Both the structure and builder are automatically created by our generator; while we can hack in a workaround for these specific fields it'd be much better if For misnamed enum variants for example we currently scan for For reference, in Rust we have: #[deprecated = "Friendly message shown to the user"] This friendly message allows us to explain why something was deprecated, and/or what the alternatives are - we can propagate a useful message directly from |
@charles-lunarg any updates here? |
The WG is unlikely to create a solution deprecation notices anytime soon, so I see two ways to resolve this github issue.
I'm in the 2. camp due to wanting to prevent users from making preventable mistakes, but as I am not the maintainer, that is just my opinion. Better to have a fix now rather than possibly wait 1-2 years to get a vk.xml change. |
I'm fine with 2. as long as we've explored that 1. isn't viable "because upstream™", though I'd still like to push for such a notice sooner rather than later. Even if they don't create official deprecation notices, a simple Feel free to make PR that adds the suggested deprecation notice above, or I can do it for you. |
The issue with 1 is that I found discussion around adding deprecated tags, and it isn't clear that will go anywhere anytime soon. I definitely can pursue adding I'm definitely not the first to think about this, internally and externally to the WG. |
That link specifically seems to concern deprecated/superseded extensions, while we're dealing with deprecated fields (and deprecated-but-maintained-for-backwards-compatibility aliases for broken names). Would be great if both could get a |
Ah right, extensions being deprecated is different than members of structs. I think it actually shouldn't be too hard to get buy in for a |
Thanks! Feel free to ping me there too. |
With today's Vulkan-Docs and Vulkan-Headers, this issue should be able to make progress now! And best of all it benefits every language binding, rather than just ash. Proper 'deprecation' status is very nice to have. |
@charles-lunarg see #697; the new |
@charles-lunarg #697 now also takes care of generating As mentioned many times before the generator is getting messier and messier, but we're working on a replacement so don't look too much into the current monstrosity. Do however check if its outputs match your expectation though! |
Looks good to me! Thanks for working on making this change happen in vk.xml, seems like it was a good spot of clean up all around to boot. |
It was! Just noticing now though that we didn't drop one deprecated enum alias for |
(apologies for using the C structure names)
Recently had a user try to enable validation layers through the device. This does nothing, and makes users that are unaware of its uselessness think they are enabling validation.
Maybe it isn't possible, but it would be lovely if there was a 'deprecated' tag for this.
The text was updated successfully, but these errors were encountered: