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

v1.2.180 vk.xml extends unknown VkPipelineLayoutCreateFlagBits enum type #1549

Closed
MarijnS95 opened this issue Jun 7, 2021 · 6 comments
Closed

Comments

@MarijnS95
Copy link
Contributor

b4e8cd8#diff-ea2b2280eacdf0647fff0571d64126ecfa6ddb10cc488ecf38c98869254658ceR15625

VK_AMD_extension_319 adds an enum flag bit to VkPipelineLayoutCreateFlagBits, but this type has not been declared to exist anywhere - in turn breaking certain code generators that rely on types to be defined.

MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 7, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

[1]: KhronosGroup/Vulkan-Docs#1549
MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 7, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

[1]: KhronosGroup/Vulkan-Docs#1549
MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 7, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

[1]: KhronosGroup/Vulkan-Docs#1549
@oddhack
Copy link
Contributor

oddhack commented Jun 7, 2021

We'll address that in the next update, but I believe you've found the correct solution already. As the registry schema documentation notes, "When the extension tag is just reserving an extension number, and no interfaces are yet defined, use supported="disabled" to indicate this
extension should never be processed." I will probably tweak that wording to try and make it more clear.

MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 7, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
@MarijnS95
Copy link
Contributor Author

@oddhack Sounds good, added a reference to the registry spec in the fix just in case - ignoring these all seems like the right thing to do (it's just diff-noise for the time being).

@oddhack
Copy link
Contributor

oddhack commented Jun 7, 2021

Also, as a futureproofness warning, eventually there are likely to be multiple API variants defined in the XML and the 'supported' tag will be a way that extensions are associated with the API variants that can support them. 'supported="vulkan"' isn't just semantic noise, it's a filter that identifies stuff belonging to the current Vulkan API. We do similar things in the OpenGL gl.xml already for interfaces or extensions that are specific to OpenGL, OpenGL ES, or both.

@oddhack
Copy link
Contributor

oddhack commented Jun 14, 2021

This should be fixed in the 1.2.181 spec update.

@oddhack oddhack closed this as completed Jun 14, 2021
@expipiplus1
Copy link
Contributor

expipiplus1 commented Jun 14, 2021

Is this comment out of date now? https://github.com/KhronosGroup/Vulkan-Docs/blob/ee9ed265a687fc31837081c6594530c6979235a4/xml/vk.xml#L10764

            <type name="VkPipelineLayoutCreateFlags" comment="Will need FlagBits type eventually"/>

@oddhack
Copy link
Contributor

oddhack commented Jun 14, 2021

Is this comment out of date now? https://github.com/KhronosGroup/Vulkan-Docs/blob/ee9ed265a687fc31837081c6594530c6979235a4/xml/vk.xml#L10764

            <type name="VkPipelineLayoutCreateFlags" comment="Will need FlagBits type eventually"/>

No - it will require it "eventually", but "eventually" won't be until the first extension is published using a reserved bit (currently one disabled extension has reserved a bit, and presumably will eventually be published by that vendor).

MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 16, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
MarijnS95 added a commit to ash-rs/ash that referenced this issue Jun 17, 2021
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
MarijnS95 added a commit to ash-rs/ash that referenced this issue Dec 10, 2022
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
MarijnS95 added a commit to ash-rs/ash that referenced this issue Dec 11, 2022
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
Ralith pushed a commit to ash-rs/ash that referenced this issue Dec 12, 2022
It is unlikely that disabled, reserved extensions (without naming
whatsoever) are used through Ash bindings generated from Vulkan-Headers
releases, and are best ignored to reduce diff noise and spurious issues
[1] with unfinished extension definitions.

This approach matches what is defined in the registry spec for
`supported="disabled"` [2]:

    use `supported="disabled"` to indicate this extension should never
    be processed.

[1]: KhronosGroup/Vulkan-Docs#1549
[2]: https://github.com/KhronosGroup/Vulkan-Docs/blob/b4e8cd820b2487bc892b391fb26b49501473a6a6/registry.txt#L1302-L1306
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

No branches or pull requests

3 participants