Commit Graph
12 Commits
Author SHA1 Message Date
simplysanatoriandClaude Opus 5.5 3de1fad10b vr: [vr] submit_wait key, OpenVR submit without the CPU GPU-wait
submit_wait = 1 (default) keeps TransferSurface(surface, TRUE): the CPU
waits for the GPU to finish the frame before IVRCompositor::Submit.
submit_wait = 0 passes FALSE: the TRANSFER_SRC_OPTIMAL transition is still
a barrier in DXVK's command list, and submit_openvr's LockSubmissionQueue
(Flush + SynchronizeCsThread + lockSubmission, which drains DXVK's submit
queue into vkQueueSubmit) runs before Submit, so the compositor's copy is
queued behind the frame on the same VkQueue and the next frame's writes
behind the copy. This is DXVK's own D3D11 interop pattern for OpenVR.
OpenXR is unchanged (its mirror already exists as xr_copy_wait).

Startup log: "submit: GPU wait before Submit on/off (submit_wait=N)".
Menu A/B (singlepass, OpenVR, 2 runs each): 43-45 fps / submit 4.2-4.5 ms
with 1, 67-70 fps / submit 0.4-0.5 ms with 0; no errors, no crashes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 10:07:58 -04:00
simplysanatoriandClaude Opus 5.5 945220fe21 proxy: dual-eye c0 substitution in both stereo paths; shared-math keys (M3-P)
- stereo_single_begin: one vr_substitute_c0_stereo call in one
  PerfDrawMath bracket; both substituted flags from its result (on
  failure neither output is written and the carry-over fills both).
- Two-pass: pass 0 makes both eyes' c0 with vr_substitute_c0_stereo and
  pass 1 uploads the kept right eye (M4-M: nothing between the passes
  changes the inputs).
- Both gated on vr_stereo_shared_math(): [vr] stereo_shared_math = 0
  restores the legacy per-eye calls exactly.
- config: [vr] stereo_shared_math (default 1) and [vr] vr_capture_c0
  (default 0, debug, writes c0_capture.bin), with ini comments and
  migration defaults; vr_session.cpp read_shared_math_settings now reads
  them from config().

Built with toolchain/build.sh (mingw, proxy): ok.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 03:03:47 -04:00
simplysanatoriandClaude Opus 5.5 db86c56d96 proxy: stereo_mode / stereo_stats keys and the single-pass toggle API (M3-P)
[vr] stereo_mode = twopass|singlepass (default twopass until M5 sign-off)
and [vr] stereo_stats = 0|1, with ini comments and migration defaults.
The vr_runtime comment notes that the Steam Frame uses openvr.

Agreed with lane M3-K (hotkey/panel), declared in src/vr/stereo.h:
  void stereo_set_single_pass(bool on);
  bool stereo_single_pass_active();
Stubbed here; the single-pass path follows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 02:27:22 -04:00
simplysanatoriandClaude Sonnet 5.5 238e7d2faa vr: add hud_offset_x/y ini keys for the gameplay HUD
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 01:47:49 -04:00
RototRobot e3657d0fe5 1.1.0: OpenXR with OpenVR fallback, settings panel, god mode, body physics
- OpenXR by default (openxr_loader.dll, Khronos 1.1.63), falling back to
  OpenVR / SteamVR; [vr] vr_runtime = auto|openxr|openvr. OpenXR grip poses
  converted to the OpenVR grip so the hands sit the same under both.
- Settings panel in the headset (both sticks held, or the Touch menu
  button), worked with a main-hand pointer; TR7-Menu-Hook's options built
  in when it is installed.
- God mode pick-up, carry and throw; third-person chest and rear physics;
  body push.
- Smooth view transitions; picture brightness and contrast; 4:3 movies;
  version and runtime on the main menu.
- Palm sliders: third "side" slider, per-preset scale/zoom/side, notches
  at the defaults, index-fingertip grab from Lara's drawn finger.
- Per-model caching of the body measurements (stutter with some player
  model mods).
- Docs, release notes and notices for 1.1.0.
2026-10-28 05:10:54 +00:00
RototRobot 2e745fb89c 1.0.0 release mod support 2026-10-18 02:47:32 +01:00
RototRobot f5006595f2 Build 5 2026-10-13 01:02:55 +01:00
RototRobot b9e3b88a41 Preview 4 hotfix 2026-10-12 04:12:25 +01:00
RototRobot 9e1def16cf preview release 4 2026-10-11 04:04:17 +01:00
RototRobot be3ceb4653 Preview Build 3 2026-10-07 06:24:51 +01:00
RototRobot c502f45084 Preview 2 build
Switch view any time: with immersive controls on, long-press the right stick (or press \) in gameplay to swap between first and third person. Set third_person_mode = all to cycle classic → shoulder → board → first person instead.
Hand Calibration (Pause → VR Settings → Hand Calibration): Lara holds her hands out with guns drawn, wire boxes show your real controllers, and you squeeze each grip to lock your hands in. Fixes hands not lining up with your controllers (common on Quest).
PDA is now on the right stick double-click, and tutorial prompts show it.
One crosshair everywhere: the game's flat lock-on rings are replaced by the VR crosshair. First person aims straight from your controller; third person puts it on the game's auto-target.
One-hand catches: a clear yellow GRIP pill fixed in your view (higher for swing bars), and about 6 seconds to grab instead of 1.5 (catch_extra_time). auto_secure_catch now takes off, bars or all.

Quest and other headsets with an uneven vertical field of view: fixed the world warping with head movement.
Ledge pull-ups in first person always use the quick animation.
The shoulder camera now turns like classic (follows camera_auto_center).
The pause menu's Display page is now VR Settings; holster setup has more reliable menu entries and on-screen messages when it can't start.
Pausing no longer leaves your pistols floating beside your hands.
Fixed a black slab that could appear in front of you in third person.
Holster setup is cancelled with the menu button (left stick click).
2026-10-06 04:22:16 +01:00
RototRobot 94c59f8a0b First Preview build 2026-10-05 03:43:10 +01:00