Open ChristophHaag opened 3 years ago
An issue (number 1575) has been filed to correspond to this issue in the internal Khronos GitLab (Khronos members only: KHR:openxr/openxr#1575 ), to facilitate working group processes.
This GitHub issue will continue to be the main site of discussion.
I've also been running into validation issues with .next chaining. Specifically with overlay and graphics, but also in other cases. I haven't pinned it down to specific items, but in cases where I have .next chains greater than 1 deep, I've run into validation layer issues. Here's one such validation layer "fix" I've had to add.
https://github.com/StereoKit/StereoKit/commit/efb8edd0b59b5399eef0d9571e5922c23ac63f49
Example chain that fails to be validated:
XrCreateSession -> XrSessionCreateInfoOverlayEXTX -> XrGraphicsBindingVulkanKHR
The generator currently generates code that claims nothing can be chained to XrSessionCreateInfoOverlayEXTX.
The registry contains
In reg.py the
validextensionstructs
map from these drectives looks like thisThe validation layer generator only generates code that makes it valid to chain structs from the list in the values to the key struct.
Two ways to solve this:
XrSessionCreateInfoOverlayEXTX
,XrGraphicsBindingVulkanKHR
) as keys to thevalidextensionstructs
map and duplicate the lists of valid structs that can be chainedOption 2. is conceptually much nicer. Here is a proof of concept but it doesn't look very nice: https://github.com/ChristophHaag/OpenXR-SDK/commit/cf4ab7037a489c856625738c5eda79d68a6898ef