46 Commits
Author SHA1 Message Date
daveyandCraig 0e3ced6f65 vr: follow the headset through GET_VIDEO_VIEWS_STATUS
A core learns about a headset only from the HMD status bit;
SET_VIDEO_VIEWS returning true means the map was accepted. The scene
walker now enters VR on the first frame with HMD, sends a TRACKED map
at the frontend's recommended eye size and goes flat with an empty map.

A video reinit restarts the headset session, and entering or leaving VR
changes the geometry, which reinits video. A lost headset is waited for
five seconds, repeating the last frame, before the core goes flat.
Input is still polled on those frames.

While VR is tracking, the map is sent every retro_run(), as libretro.h
asks: it covers state loads and run-ahead. The frontend writes the
recommended eye size back on each call, so a new size there is taken as
a resize, and the AV info is sent once for it. A frontend that reports
a headset but refuses the tracked map is not asked again until the
headset drops or the VR option is turned off.

Co-authored-by: Craig <[email protected]>
2026-10-12 05:25:22 -07:00
daveyandCraig 6bfc332eba 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]>
2026-10-12 05:11:24 -07:00
libretroadmin e38c3e3e82 vr: request the session through the converged view-map API
RetroArch's VR surface is now the view map: the session request
becomes two eye-tagged side-by-side views with the flat request as a
flag, the reference space and IPD hint carried alongside, and the
recommended per-eye size read back from the views struct. The frame
loop is untouched - GET_VR_FRAME_STATE keeps its struct at its new
number - and a TARGET_RESIZED frame re-requests with the updated
sizes exactly as before. The bundled libretro.h is synced to the
converged header.
2026-10-07 17:46:10 +02:00
Craig Carnell b3aee0fe6e Add vulkan renderer 2026-10-06 09:12:16 +01:00
Craig Carnell 4ff056478c Add VR support to Android 2026-10-06 09:08:15 +01:00
BinBashBanana fc97bd873e Fix emscripten 2025-04-20 14:58:29 -07:00
twinaphex 4111cc510d Better error handling 2017-01-24 16:00:19 +01:00
Gregor Richards c611070868 Report git version with library_version 2016-12-09 18:52:57 -05:00
twinaphex 49c58f2d40 Cleanups 2016-06-27 04:24:22 +02:00
twinaphex a0dc9507bf Cleanups 2016-06-27 04:13:52 +02:00
twinaphex 6918c9e36c Start using libretro-common/glsym 2016-06-27 04:08:42 +02:00
twinaphex 9d67a8b49f Cleanups 2016-06-27 03:39:02 +02:00
Twinaphex bf67b08e6f Revert "Replace RPNG with stb_image" 2015-05-03 06:41:59 +02:00
mudlord aa2d46bf41 replaced image loaders with stb_image 2015-04-16 18:58:15 +10:00
twinaphex 9db93e898a Increase resolutions 2014-01-25 00:50:31 +01:00
twinaphex 7a51c6d40b Set bottom_left_origin to true for non-camera_enable mode 2014-01-25 00:31:11 +01:00
twinaphex 110005ccdc Add enabling/disabling of sensor codepath 2014-01-20 16:46:59 +01:00
twinaphex 8e2cad9185 Get sensor interface 2014-01-20 12:35:46 +01:00
twinaphex 4b9c742adf Replace instances of InstancingViewer with libretro 3Dengine in
copyright headers
2014-01-20 11:28:08 +01:00
twinaphex a140f237f0 Update copyright header 2014-01-20 11:22:43 +01:00
twinaphex 43461b7ee8 Sensor enable core option 2014-01-20 10:26:49 +01:00
twinaphex afff7610aa Add sensor interface 2014-01-20 10:17:11 +01:00
twinaphex 99ca157ab9 (Instancingviewer) When camera is disabled, will display PNG picture
again
2014-01-17 00:25:33 +01:00
twinaphex 8f03ad7e43 Add VERY rudimentary controlling of camera by location updates
(works now only with longitude - just a very shoddy 'it works' test)
2014-01-13 11:48:48 +01:00
twinaphex 0faaebf34a add previous_location as well 2014-01-13 11:02:40 +01:00
twinaphex bb95961c40 Add location display core option 2014-01-13 10:47:55 +01:00
twinaphex b670028eb4 (NDK) Build fix 2014-01-13 02:09:18 +01:00
twinaphex b70d070098 (Modelviewer) Implement discard hack (for fixing Lightning model - maybe
others as well)
2014-01-13 02:03:46 +01:00
twinaphex 3ee676a641 Add location enable / camera enable core options 2014-01-13 01:48:16 +01:00
twinaphex 8ffee69600 - Loading a '.mtl' file will now load the SceneWalker (embedded
in program/modelviewer.cpp)
- Lighting fixed in ModelViewer - changed LightDir to LightPos
2014-01-12 20:40:27 +01:00
twinaphex 728c9fb382 Now properly sets core options at startup 2014-01-12 19:02:35 +01:00
twinaphex ee2b2eb8ef context reset is now implemented by program engine too 2014-01-12 18:42:38 +01:00
twinaphex 47658d9440 Change default params 2014-01-12 18:28:20 +01:00
twinaphex 78690b91be Now switches programs based on input file being given - if you
give it an .obj file, it will start modelviewer - if you give
it anything else, it will start instancingviewer
2014-01-12 18:23:07 +01:00
twinaphex 08ec51243e engine programs now go through function pointer so we can switch
between programs on the fly
2014-01-12 18:17:50 +01:00
twinaphex 0148f13aef Turned modelviewer into separate program too - missing lighting
right now though - not sure why
2014-01-12 17:52:39 +01:00
twinaphex 0fc03f5226 Cleanups 2014-01-12 17:09:31 +01:00
twinaphex 1d3d2ef4a2 Split up even more code into program/instancingviewer.cpp 2014-01-12 17:01:15 +01:00
twinaphex 41c3adb666 bool update variable no longer extern - program implementation
bound now
2014-01-12 16:29:30 +01:00
twinaphex a1133cc11e add program_load_game function 2014-01-12 16:27:19 +01:00
twinaphex 81f63e2940 Split up all instancingviewer code into separate file 2014-01-12 16:20:18 +01:00
twinaphex 211fd09f27 Remove retro_stderr - go through log_cb instead 2014-01-12 14:46:42 +01:00
twinaphex 9bd1e5fd31 Remove some dead code 2014-01-12 14:35:57 +01:00
twinaphex 7cfcabe3b6 Add engine files from scenewalker - make rpng version compilable as C90 2014-01-12 14:15:13 +01:00
twinaphex 2cee94f322 (libretro) Change name/valid extensions 2014-01-12 13:43:20 +01:00
twinaphex 1b9c4cb2cb initial commit 2014-01-12 13:12:54 +01:00