Now that 2019.3 is released (apparently with Vulkan support for VR according to the release notes, even though there are no docs about it), I finally built to device with Vulkan as the graphics API from a project that was healthy under OpenGL ES 3.
According to logcat, it does appear that Vulkan is being used, and it does appear that fixed foveated rendering is probably being used (at least the log indicates that FFR was found to be available, so I hope Unity is choosing to use it?) The interesting output from logcat about that is:
Vulkan FFR is supported, with density map size 32x32
However, the absolute show-stopper is that eyes are rendering in the wrong positions: the left eye is rendering as if it is slightly to the right of the right eye (it might even simply be that the eyes are swapped - hard to tell from this initial test). This is a deeply cross-eyed horrible thing to see in the HMD of course.
Otherwise, everything “just worked”, so this is an exciting step forward. Even though the game was unplayable due to being cross-eyed, performance was excellent.
Perhaps I need to configure something differently to make the eye matrices correct for the Oculus Quest while using Vulkan?
This project is from Unity 2019.3.0f6, with no Oculus plugins from Oculus present anymore, using only the new XR Management Package (with the Oculus Loader installed from that).
This worked fine from Unity 2019.3.0f3 with OpenGL ES 3 (and might still work fine now with OpenGL ES 3 for all I know) - but now that it’s from f6 with Vulkan, the cross-eyed problem has appeared.
I’m going to try a bare-bones vanilla “Hello World” app using Vulkan now to see if this stuff ever works on Quest, but any tips would be appreciated.