Ralith / openxrs

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

update for openxr 1.0.20 #97

Closed kcking closed 2 years ago

kcking commented 2 years ago

I took a crack at updating the generator for openxr 1.0.20. A couple things I found relatively general solutions to, and a couple I opted for a quick one-off change. Here's a list of things I changed

Let me know if this type of contribution is desirable and if there's anything you'd like to be approached differently!

kcking commented 2 years ago

Thanks, this is very welcome! For ease of review, could you reformat this PR as a series of minimal, atomic commits that each address a single thing?

Thanks for taking a look! I'm getting the commits tidied up and then will respond to your comments

kcking commented 2 years ago

Thank you for the super helpful comments! I believe I followed all of your suggestions.

I made all EventData constructors unsafe as you mentioned. I generated a doc comment to point the user toward the analagous struct in sys which has a pointer to the openxr spec.

Also I added the Session::create_foveation_profile impl in foveation_profile_fb.rs instead of session.rs since it seemed more relevant.

kcking commented 2 years ago

This latest commit should address both issues since they affected the same line :)

kcking commented 2 years ago

Ah I can fix those lints

Ralith commented 2 years ago

Released in 0.15.5.

kcking commented 2 years ago

Released in 0.15.5.

🎉 thank you for all of the help with this!

zmerp commented 1 year ago

The foveation profile bindings seem to be incomplete. You need also bindings for xrUpdateSwapchainFB in XR_FB_swapchain_update_state to be able to apply the foveation profile.