KhronosGroup / Vulkan-Docs

The Vulkan API Specification and related tools
Other
2.7k stars 452 forks source link

Add type="constants" to the "API Constants" "enums" in vk.xml #2359

Closed kanashimia closed 1 month ago

kanashimia commented 2 months ago

In vk.xml "enums" is almost an internally tagged enum with the key "type", but the "API Constants" enum doesn't have a type, and it is the only place where there is no type, I suggest adding it and make changes to the schema that make type a mandatory key, this is a minor change to remove that specialisation for it when you write a binding generator. I had some problems with this because I couldn't just codegen the parser here.

Here is the line: <enums name="API Constants" comment="Vulkan hardcoded constants - not an enumerated type, part of the header boilerplate"> I suggest adding type="constants" there.

In the schema "?" should be removed: attribute type { text } ? ,

I also noticed that "name" is optional too in the schema, even though it is always provided, maybe it can be made mandatory too? Though I don't care about it.