mirror of
https://github.com/libretro/beetle-vb-libretro.git
synced 2026-11-07 10:16:05 -10:00
master
* Allocate the frame for the widest 3D mode FB_WIDTH followed the live 3D mode while the surface keeps its load-time size, so changing the mode to side-by-side at run time handed video_cb a pitch wider than the buffer. Co-authored-by: Craig <[email protected]> * Update libretro.h for the unified VR view API The header from RetroArch's unified OpenXR pull request (libretro/RetroArch#19811). REQUEST_FLAT and ipd_hint_m are gone from retro_video_views: a flat map is one without TRACKED, and OpenXR always gives real eye poses. Co-authored-by: Craig <[email protected]> * Show both eyes through the unified view API A core learns about a headset only from the HMD status bit; SET_VIDEO_VIEWS returning true means the map was accepted. Entering VR on that true left desktop frontends blank. VR enabled now sends the two eyes side by side as an untracked LEFT/RIGHT map whenever the frontend presents both eyes, in a headset or a stereo display mode, and needs no GL, so it works in every build. The chosen 3D mode comes back when the frontend stops presenting both eyes. Head-locked, a new vb_vr value in HAVE_VR builds, keeps the GL renderer: it enters on the first frame with HMD and sends a TRACKED map. A video reinit restarts the headset session and leaving VR changes the geometry, so a lost headset is waited for five seconds before the core falls back to the stereo screen. A frontend that reports a headset but refuses the tracked map is not asked again until the headset drops or head-locked is turned off. The map in use is sent every retro_run(), as libretro.h asks, except on the frames that wait for a lost headset: it covers state loads and run-ahead. The frontend writes the recommended eye size back on each tracked map, so a new size there is taken as a resize. The VR options were always shown because libretro_vr.h defines VB_VR_ENABLED as 0 or 1; they now test its value. HAVE_VR builds, Android's among them, no longer ask for GL unless head-locked is chosen: enabled now means the stereo screen. Co-authored-by: Craig <[email protected]> --------- Co-authored-by: Craig <[email protected]>
Description
Standalone hard fork of Mednafen VB to libretro.
24 MiB
0 Stars
1 Watchers
0 Forks
Languages
C
84.5%
C++
12.2%
Makefile
1.7%
Python
1.2%
Pawn
0.2%
Other
0.2%