KhronosGroup / KhronosGroup/OpenXR-SDK-Source
Incorrect validation message for flag fields
- Dominant language
- Python
- Stars
- 825
- Forks
- 306
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 1
Description
OpenXR bitfields are 64-bit, but the validation layer displays their value as 32-bit once it found an illegal value:
inline_flag_str += 'oss_enum << Uint32ToHexString(static_cast(%s%s));\n' % (pointer_string, full_param_name)
https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/21714cf0ec46c67f2597d467a34a9004dbf380aa/src/scripts/validation_layer_generator.py#L1327
This results in confusing validation messages such as:
> [2026-01-30 18:47:25][VALID_ERROR|VUID-XrSwapchainCreateInfo-createFlags-parameter|xrCreateSwapchain]: XrSwapchainCreateInfo invalid member XrSwapchainCreateFlags "createFlags" flag value 0x00000000 contains illegal bit
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in src/scripts/validation_layer_generator.py at line 1327, where the flag value is converted for the validation message. Trace the generated message path and verify that illegal 64-bit flag values retain their full value in the output. Done means the validation message no longer truncates OpenXR bitfields to 32 bits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100