Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update OpenXR-SDK to 1.0.25 #125

Merged
merged 6 commits into from
Oct 8, 2022
Merged

update OpenXR-SDK to 1.0.25 #125

merged 6 commits into from
Oct 8, 2022

Conversation

kcking
Copy link
Contributor

@kcking kcking commented Oct 4, 2022

fixes macOS build with KhronosGroup/OpenXR-SDK-Source#323

@Ralith
Copy link
Owner

Ralith commented Oct 4, 2022

Thanks! Want to run the generator for the update too?

@kcking
Copy link
Contributor Author

kcking commented Oct 5, 2022

Ah yes that was too easy... 😅 forgot about the generator.

@Ralith I added two commits to fix the build errors, except that VkImageCreateFlags and VkImageUsageFlags are undefined. It appears OpenXR-SDK assumes these are imported from vulkan.h. ash is currently a dependency of openxr but not sys. Should I add ash as a dep of sys and either 1) typedef or 2) substitute those types for the associated ash::vk:: types?

@Ralith
Copy link
Owner

Ralith commented Oct 5, 2022

No, ash should not be a dependency of either crate. The new Vulkan types should be handled consistently with the existing ones, by transcribing the bare minimum representation into sys/src/platform.rs. This ensures we don't break every time ash updates.

Generating atom definitions automatically is nice, but should probably be pursued in a separate PR. Note that we currently have handwritten definitions for most of them in sys/src/lib.rs.

kcking added 2 commits October 4, 2022 21:12
i.e. XR_PASSTHROUGH_CAPABILITY_BIT_FB -> PASSTHROUGH_CAPABILITY
VkImageCreateFlags and VkImageUsageFlags
@kcking
Copy link
Contributor Author

kcking commented Oct 5, 2022

Great, thanks for the comments! Latest version now pushed.
I have it down to some new FB spatial anchor/Space struct issues.

  1. they use a UuidEXT struct that holds a 32-byte array. should we create a wrapper for this, or just export it as-is? If users wanted to manipulate the UUIDs instead of just using them as opaque handles, passing them to the uuid crate seems easy enough. UuidEXT currently fails the && x.static_array_len.is_none() check of is_simple_struct.
  2. some generated struct wrappers like SpaceQueryCompleteFB turn XrResult into Result which is then conflicting with std::Result. do we have an existing solution for this? should we be mapping XrResult to Result<()>?

Thanks for your help!

@kcking
Copy link
Contributor Author

kcking commented Oct 7, 2022

Applied work-arounds for both of the above issues, let me what you think :)

Copy link
Owner

@Ralith Ralith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@Ralith Ralith merged commit 1269929 into Ralith:master Oct 8, 2022
@Ralith
Copy link
Owner

Ralith commented Oct 8, 2022

Published in v0.17.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants