Ralith / openxrs

OpenXR bindings for Rust
Apache License 2.0
282 stars 59 forks source link

Missing OpenXR 1.0.22 Extensions #105

Closed zjijz closed 2 years ago

zjijz commented 2 years ago

I was looking for extensions like XR_FB_keyboard_tracking, XR_FB_passthrough_keyboard_hands, XR_FB_render_model, etc and saw they all just weren't in the library yet. I think this mainly stems from these being recently added in the OpenXR 1.0.22 release (which was only a month ago): https://github.com/KhronosGroup/OpenXR-SDK/releases/tag/release-1.0.22.

Does updating the underlying OpenXR version happen to be easy? I imagine there's then some manual work to add the openxr view of these changes.

Is there any way I could help out with pulling the new version and updating the openxr layer?

Ralith commented 2 years ago

Updating the -sys bindings is usually easy:

  1. Update the sys/OpenXR-SDK submodule
  2. cargo run --bin generator && cargo fmt
  3. Address any generator bugs/XML quirks due to the new version

High-level, safe wrappers at the openxr layer for new extensions must be handwritten, but it is by design possible to use the unsafe -sys bindings directly for cases not covered by the high-level API.

I'd be happy to review pull requests for any/all of the above.