KhronosGroup / Vulkan-Hpp

Open-Source Vulkan C++ API
Apache License 2.0
3.08k stars 304 forks source link

New top-level XML tag causing complaints #1950

Closed oddhack closed 2 weeks ago

oddhack commented 2 weeks ago

FYI, in (edit: the 1.3.294 spec update) we added a new 'feature' tag inside 'require' / 'remove' blocks which is causing some complaints from the Hpp generator.

asuessenbach commented 2 weeks ago

Thanks for that hint, I'll add support for those new tags. Shouldn't be too hard.

I have a question, though: those new features have a "name" and a "struct". For most of them, that "name" is a member of that "struct". But not all. Is that correct? Those who behave differently are:

                <feature name="bufferDeviceAddress" struct="VkPhysicalDeviceDescriptorIndexingFeatures"/>

and

                <feature name="shaderSampledImageArrayDynamicIndexing" struct="VkPhysicalDeviceDescriptorIndexingFeaturesEXT"/>
                <feature name="shaderStorageBufferArrayDynamicIndexing" struct="VkPhysicalDeviceDescriptorIndexingFeaturesEXT"/>
oddhack commented 2 weeks ago

Best to ask @Tobski who came up with the new tags.

asuessenbach commented 2 weeks ago

... and, besides that: what does those new tags tell me? Does it mean, that those features are required to be supported by those extensions/versions?

oddhack commented 2 weeks ago

... and, besides that: what does those new tags tell me? Does it mean, that those features are required to be supported by those extensions/versions?

That's what the schema documentation is for, see if this helps: https://registry.khronos.org/vulkan/specs/1.3/registry.html#tag-required-feature

asuessenbach commented 2 weeks ago

Thanks for that link! It answers my questions and tells me that the inconsistencies I've identified above actually are errors in vk.xml.

asuessenbach commented 2 weeks ago

Resolved by #1953.