295 Commits
Author SHA1 Message Date
Jeremy Bowers fbeefedb2a Updates to the Readme.md and compiling scripts. 2026-10-05 17:06:08 -04:00
Jeremy Bowers 9dd817d864 OpenXR: add independent stereo separation control
Immersive VR previously used the full runtime-reported left/right view
positions, with Units per Meter scaling both world geometry and the
per-eye offsets. That left no direct way to soften strong near-field
pop-out without also changing the apparent world scale.

Add Graphics.VR.StereoSeparation as a 0-200 percent setting, defaulting
to 100 percent. Scale each eye's positional offset around the average
eye center independently of shared head translation. At 100 percent the
projection is unchanged, 0 percent brings the virtual view positions
together toward mono, and values above 100 percent amplify stereo depth.
Units per Meter continues to set world scale and head-motion mapping.

Expose the setting in the global VR pane and per-game VR configuration,
include it in game VR override application/reset, and refresh cached
projection rows when it changes. Help text explains the scale/depth
tradeoff, possible near-field comfort benefit, and that Stereo 3D Screen
continues to use the existing Stereoscopic Depth control.
2026-10-05 00:21:28 -04:00
Jeremy Bowers 22f6884ca0 Checkpoint. This has a number of things including defaulting eager_heartbeat to true. 2026-10-04 14:41:52 -04:00
Jeremy Bowers 834cdddd2e OpenXR: add Steam Frame controller input 2026-10-03 22:21:35 -04:00
Jeremy Bowers bec9d1beae OpenXR: keep controller input in Flat Vulkan mode 2026-10-03 21:00:54 -04:00
Jeremy Bowers 3ec01541fd OpenXR: add configurable presentation modes 2026-10-03 20:06:38 -04:00
Jeremy Bowers a02a554c86 OpenXR: revert recenter changes to pre-d9ed82e state
Remove the reference-space recreation recenter, ScreenYawOffset config, and
debug logging. Restore the original home-position recenter and world-locked
flat screen placement so we can diagnose the underlying issue from a clean
baseline.
2026-10-03 12:41:08 -04:00
Jeremy Bowers 328997747a OpenXR: add ScreenYawOffset config to adjust virtual screen horizontal angle
Adds a VR/ScreenYawOffset setting (degrees, default 0). Positive values
rotate the virtual screen counter-clockwise from above (to the left);
negative values rotate clockwise (to the right). This is intended as a
diagnostic/tuning knob for the stereoscopic virtual screen placement.
2026-10-03 11:38:37 -04:00
Jeremy Bowers 7726dbe5a5 OpenXR: add requested display refresh rate
Add GFX_VR_REQUESTED_REFRESH_RATE setting (Auto/60/72/90/120 Hz). When a
non-zero rate is configured, call xrRequestDisplayRefreshRateFB after the
session begins so the runtime can switch the headset panel to a rate that
matches the game's frame rate (e.g. 60 Hz or 120 Hz for 60 fps Wii games,
instead of the default 72 Hz).

This should reduce judder caused by the compositor showing 60 fps content on
a 72 Hz display. The runtime may clamp the request to the nearest supported
rate; the result is logged.

UI exposed in VRPane and VRConfigWidget.
2026-10-03 10:12:22 -04:00
Jeremy Bowers 3deb147e55 Config: add vr_stereo_screen mode
Add GFX_VR_STEREO_SCREEN setting. When OpenXR is enabled and this mode is
active, force stereo_mode to SBS so the game renders with Dolphin's classic
side-by-side stereoscopy. Extend VRSessionActive() to keep the OpenXR session
alive for this path. This is the first step toward submitting a stereoscopic
virtual screen via OpenXR quad layers.
2026-10-03 01:23:38 -04:00
iChris4 3ddf87e56e Updated VRPane UI & Settings 2026-07-25 18:53:44 +02:00
iChris4 b4796daa35 Added Frame Size from XFB Copy, Small 3D Viewports and Detect Render-to-Texture Viewports 2026-07-23 00:14:58 +02:00
iChris4 1793f16d6d Removed Element Depth 2026-07-22 02:52:37 +02:00
iChris4 5f651538d3 Removed depreciated Auto Layer and Layer Offset 2026-07-21 21:01:36 +02:00
iChris4 e7662f3c8b Removed "LockHeadPosePerFrame " and "AutoImmediateXFB "in VR Hacks 2026-07-21 17:06:40 +02:00
iChris4 2aa5f3b2ca Added "Controller Anchor" type to the group elements override 2026-07-19 17:56:55 +02:00
iChris4 b44ac1f850 Added "Camera Anchor" type to Group Element Override 2026-07-19 04:51:48 +02:00
iChris4 405f30d211 Added "Auto-Exclude EFB Effects" to 2D Virtual Screen 2026-07-19 01:29:05 +02:00
iChris4 e77555d766 XFB pose stamps & EFB clear moved off the present path 2026-07-18 23:24:17 +02:00
iChris4 4825e49442 Added "Exact Screen Depth" mode 2026-07-18 16:47:07 +02:00
iChris4 a4a4eec869 Defer eye blit to submit time 2026-07-16 15:38:48 +02:00
iChris4 3bfa9ad3ec Improved passthrough & Added XRPacingThread 2026-07-12 01:32:52 +02:00
iChris4 490695d83f Added foveated rendering 2026-07-11 04:16:02 +02:00
iChris4 19d89d4ba0 Merge branch 'openxr-work' of https://github.com/iChris4/dolphinXR into openxr-work 2026-07-10 16:04:21 +02:00
iChris4 493b440411 Added D3D12 OpenXR Support 2026-07-10 16:01:42 +02:00
iChris4 1db9a150c7 Added Quest Passthrough 2026-07-10 00:03:19 +02:00
iChris4 cb29dca54f Auto Layer Spread false by default 2026-07-08 02:21:00 +02:00
iChris4 d9565464a9 Added 2D "cinema" mode 2026-07-07 05:37:17 +02:00
iChris4 bc7a7dbe67 Updated Passthrough Mode 2026-07-07 04:11:24 +02:00
iChris4 e911bec8b3 Fix Metroid Prime 3D VR HUD 2026-06-13 22:26:22 +02:00
iChris4 3de35df672 Detect Skybox feature added 2026-06-09 04:01:12 +02:00
iChris4 b6eb5a946a Add D3D11 Metroid thermal palette fix 2026-06-04 19:12:42 +02:00
iChris4 ace44a8a1b Add Metroid Prime Vulkan visor fixes 2026-06-04 03:04:32 +02:00
iChris4 04113519b6 Opcode Replay Added 72,90,120hz 2026-05-15 02:15:13 +02:00
iChris4 da596b84ed Default VR Position Selection 2026-05-14 20:42:16 +02:00
iChris4 2bedfe31bd Linux Debian VR Building Option 2026-05-14 18:56:58 +02:00
iChris4 f933865451 Ortho Scissor Fix Toggle 2026-05-11 01:48:33 +02:00
iChris4 2103012a9a Added VR Linux Build Option 2026-05-10 23:03:39 +02:00
iChris4 49ad800936 Added Default GamesettingsVR 2026-05-03 14:43:33 +02:00
iChris4 c80961c437 Quest Vulkan Multiview fixes & Performances 2026-05-02 15:58:54 +02:00
iChris4 2929ead841 Initial Support for Quest 2026-04-24 13:40:27 +02:00
iChris4 19ba9b05fa Opcode Replay Fix & Lock Head Pose Per Frame Fix 2026-04-23 16:43:59 +02:00
iChris4 677aa34050 Added ARMode by Clodo76 2026-04-11 18:08:04 +02:00
iChris4 4a70fd2fbe VR Pane UI 2026-04-10 19:51:45 +02:00
iChris4 a2dad38be5 Add OpenXR support and related VR changes 2026-04-07 00:18:01 +02:00
Sintendo 1e0473e44f Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
AndrewGDX 113c86f1b4 Improved stereoscopic 3D settings 2025-11-12 12:29:03 +03:00
Jordan WoyakandDentomologist f289b06e0d Common: Make HookableEvent use non-static data.
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2025-11-02 17:30:43 -06:00
CrossVR 0ace5f5d3d Vulkan: Add support for unrestricted depth range. 2025-07-21 14:07:26 +09:00
Dentomologist 45b9def42c VideoConfig: Remove ConfigChangedCallback on shutdown 2025-04-25 16:00:43 -07:00