Files
astromaddie--lambda1-vr/Projects/Android
Madison 9ad98dcf51 Make the OpenXR setup work on SteamVR for the Frame build
SteamVR doesn't offer what the Quest and Pico runtimes do, and the frame
loop assumed they were there. All of this is behind L1VR_STEAM_FRAME, so
the Quest and Pico code paths stay as they were.

- Only OpenGL ES is required. Everything else (android create instance,
  performance settings, refresh rate, the Valve controller extension) is
  enabled when the runtime lists it. The android create instance struct
  only goes in the chain if that extension is on.
- No Pico or Meta calls on the Frame, and no assuming OPENXR_HMD is set.
- The graphics binding gets the EGLConfig instead of the surface.
- The eye framebuffers fall back to plain GLES 3 when there's no
  multisampling, so the runtime doesn't need the EXT extension.
- Render at the recommended size, not 1.3x of it.
- In standby (shouldRender false) the frame goes in with no layers and
  the game waits too. Before, the server kept simulating.
- SteamVR quitting the app (exiting, loss pending) goes through the
  normal shutdown instead of spinning on events.
- A recentre that takes the head's yaw and floor position, for the
  controller code to call. It keeps the view yaw and the world position,
  so nothing jumps.
- Log what's going on with an [openxr] prefix: runtime, extensions,
  swapchain format and size, session state, refresh rates.

Builds. Haven't tried it in the headset yet.
2026-10-04 18:41:58 +09:00
..
2019-08-05 18:39:26 +01:00
2025-10-15 22:28:55 +01:00
2025-10-15 22:28:55 +01:00