openxr pico4 wgpu ..
I've tried to make it work the last 15 hours so but failed.
The OpenEXR-SDK from Khronos works perfectly.
The Cpp-code only has 2 requirements: Extensions:
XR_KHR_android_create_instance
XR_KHR_vulkan_enable
Even causing the same settings in openxr I cannot reproduce:
```
04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - using global runtime file /vendor/etc/openxr/1/active_runtime.json
04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::CreateIfValid - attempting to load /vendor/etc/openxr/1/active_runtime.json
04-21 03:46:45.796 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime forwarding xrInitializeLoaderKHR call to runtime before calling xrNegotiateLoaderRuntimeInterface.
04-21 03:46:45.807 3439 12140 I OpenXR-Loader: Info [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntime succeeded loading runtime defined in manifest file /vendor/etc/openxr/1/active_runtime.json using interface version 1 and OpenXR API version 1.0
04-21 03:46:46.016 3439 12140 I OpenXR-Loader: Info [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance succeeded with 0 layers enabled and runtime interface - created instance = 0x0000007ca23814c0
```
the last line CreateInstanceSucceeded I cannot get with the Rust code. So something is failing. I tried checking the arguments as well as the android extra code which needs to be run before vkrCreateInstance.
The only difference is that the cpp codes attaches to vm thread:
https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/f17d5eac9d88987a194c8f18c829add447298d36/src/tests/hello_xr/main.cpp#L199
I am not quite sure to what project this belongs - looks like android-activity is upstream for most solutions including ndk-glue (which was refactored into own lib, then archived hinting towards this repository).
The examples have some issues such as macro2 -> .60 instead of .59 minor version in Cargo.lock. And cargo upgrade all deps which depend on the stdsimd which was removed. But then at least they compile.
Copying the hello_xr.so from aboves src/tests/xr_hello directory into theapp/src/main/jniLibs/arm64-v8a/libmain.so makes it work. So it must be the Rust code.
```
<uses-permission android:name="org.khronos.openxr.permission.OPENXR" />
<uses-permission android:name="org.khronos.openxr.permission.OPENXR_SYSTEM" />
```
eventually could be added but the cpp so works without.
0 条评论