KhronosGroup / KhronosGroup/OpenXR-Docs
API layer version is inconsistently specified
- Dominant language
- Python
- Stars
- 181
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
- per https://registry.khronos.org/OpenXR/specs/1.0/man/html/XrApiLayerProperties.html "It is an integer [uint32_t], increasing with backward compatible changes."
- per https://registry.khronos.org/OpenXR/specs/1.0/loader.html, "implementation_version" is a string field in the JSON, and "If the API layer itself has any major changes, this number should change."
Concrete issues:
- The JSON is not documented a requiring a uint32_t or even an integer, but it should presumably match
- I'm assuming that "backwards compatible" is a typo, and "backwards incompatible" is meant ?
either way, it has a different meaning to "any major changes"
- There'd also be some debugging value to being able to represent the actual human-readable version number, rather than just a "major changes" version. In practice, I think most layers just use "1".
This would require either that an arbitrary string is allowed, or a much larger type than uint32_t (especially for layers that increment the version number in every CI build). Currently, the description field could be (ab?)used for this
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing the API layer properties page with the OpenXR loader page linked in the issue, focusing on the type and meaning of the version fields. Resolve whether the JSON value must match the uint32_t property, define compatible version semantics, and document the chosen representation consistently in both references.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100