KhronosGroup / KhronosGroup/OpenXR-SDK-Source

Incorrect validation message for flag fields

Open
#584 1 comment 0 reactions 0 assignees View on GitHub
synced to gitlab
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.