Fix OpenXR with Vulkan on Android#116226
Conversation
The fix resets the Android global vulkan context when running in XR mode to allow the XR module to drive the initialization via vulkan hooks.
@dsnopek @devloglogan Can you validate the fix on Pico and other devices you have available |
FYI, Vulkan on Pico is broken even on Godot 4.6 per #115744 |
|
I tested on Samsung Galaxy XR, Quest 2, Quest Pro and Quest 3 - worked fine! My HTC Vive XR Elite needs to get a little bit more charge before it'll turn on, but I'll try it later :-) |
dsnopek
left a comment
There was a problem hiding this comment.
Unfortunately, testing on the HTC Vive XR Elite is inconclusive. Running with this PR doesn't work, but neither does Godot 4.6. In fact, I had to roll back to Godot 4.4.1 and godot_openxr_vendors 3.1.2 before it would work. But I've also got some pending system updates that I haven't managed to get it to install yet. I really need to test this headset more often :-)
In any case, this PR definitely still improves things and the code looks good, so, I'm going to mark as approved and keep digging into the HTC issues elsewhere
DarioSamo
left a comment
There was a problem hiding this comment.
This seems to be exactly what we discussed, so seems good to me.
|
Can confirm this works on a Steam Frame in Android mode as well (while currently on master it has the same issues as Quest and Galaxy XR). |
|
Thanks! |
Follow up to #114922
Fixes #115924
When running in XR mode, the fix resets the Android global vulkan context introduced in #114922 to allow the XR module to drive the initialization via vulkan hooks.
Tested on Galaxy XR and Meta Quest 3 devices.