10 Commits
Author SHA1 Message Date
simplysanatoriandClaude Opus 5.5 1d5fce9b15 WIP lane I: per-segment GPU profile, direct eye targets (measured choice), native race render clip, exact display-time stamp
KARTFRAME_FPSLOG=2 now times every set (game-frame and refresh sets) with in-pass timestamps per
draw class (scene, HUD, fades, EFB effects, sink copy); frame/perf/gpuprof.py tabulates them.
Eyes may render straight into the swapchain images (the bridge's DirectTargets); the Vulkan backend
measures both ways on the first race sets and keeps the cheaper (KARTFRAME_DIRECT_EYES=0/1 forces).
The native render of an immersive race frame stops after its last copy for the eyes on Linux too
(KARTFRAME_MONO_FULL=1 keeps it whole) and is clipped to the copies' rectangles
(KARTFRAME_NATIVE_CLIP=0). DisplayTimeNanos returns the converted CLOCK_MONOTONIC time directly
(two clock reads put two stamps 0.24 ms off in the orchestrator's soak); the mock counts such
offsets as 'between', honours MUTABLE_FORMAT. Not yet soaked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:11:43 -04:00
simplysanatoriandClaude Opus 5.5 499701b873 Headless runs: KARTFRAME_HEADLESS offscreen desktop target, mockrun.sh with a private Xvfb, xrmock gets the three calls the game makes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 22:48:33 -04:00
heurazy cc7faf021a Fix VR output orientation and WheelWizard launch diagnostics 2026-09-25 18:24:09 +02:00
iChris4andClaude Opus 5.5 cc653272c8 Added foveated rendering for the Quest
- Eyes render under a VK_EXT_fragment_density_map: full rate around each eye's forward direction,
  2x2 then 4x4 pixel blocks towards the edges ([vr] foveation = off|low|medium|high, default off).
  XR_FB_foveation cannot help here: the runtime's maps only shape passes drawing into its
  swapchain, and the eyes reach it through a copy.
- aurora-main/patches/dawn/aurora_fdm.inc: Dawn enables the extension only on request and for
  dynamic rendering, flags every render pipeline, and chains an immutable RG8 map into any pass
  whose first color attachment is a view bound to one (ABI: include/aurora/dawn_fdm_abi.h).
- android/Build-QuestDawn.ps1 builds the pinned Dawn revision with those patches for arm64
  (dawn-build CI flags, protobuf off) into a cached package; Build-Quest.ps1 links it
  (-StockDawn opts out) and AuroraDawnProvider.cmake enables the ABI from its manifest.
- lib/gfx/foveation.hpp generates the maps (32 px per texel, densities 255/127/63); an eye is
  foveated only when single_pass_eyes draws it in one render pass. Menus never are.
- Live level from the headset panel's VR tab and the launcher; the launch decides whether the
  device has maps. debug.wiicompiled.foveation and debug.wiicompiled.fdm for A/B.
- Tests: Foveation cases in gx_fifo_tests, mkw_vr_config_tests. Docs: OPENXR.md, quest-port.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 19:03:17 +02:00
iChris4 47b59c7294 Implement per-pass GPU timing for performance tracking and optimization & fixed mono in Immersive 2026-09-19 19:23:57 +02:00
iChris4 d4a3f0b350 Quest Fixed Vulkan pipeline cache management and storage mechanisms 2026-09-18 23:38:55 +02:00
iChris4 e52227baf5 Added Android Meta Quest Support 2026-09-16 22:06:34 +02:00
iChris4 d8788de919 aurora: add asynchronous OpenXR stereo replay bridge 2026-09-03 04:00:02 +02:00
iChris4 0beb7d880c Initial OpenXR configuration 2026-08-30 21:47:12 +02:00
patchzyy ec226e8348 init 2026-08-23 17:10:50 +02:00