mirror of
https://github.com/daniel-lynch/ovrplugin-openxr-shim.git
synced 2026-10-06 02:00:05 +02:00
- ovrp_GetTimeInSeconds: real export returning double (legacy direct-return ABI); the autogen ovrpResult stub left d0 uninitialized and the game reads it - seqlock writer: fence the odd-mark before the data stores (torn-pose window) - drain the frameState ring on STOPPING/shutdown (stale displayTime + permanent one-frame skew after every session pause) - begin_frame FIFO bail: bound the wait (surface-teardown deadlock) and measure the deadline on CLOCK_MONOTONIC, immune to wall-clock steps - passthru: pthread_once takeover + acquire/release PT_FWD pointer cache (first-use race could run the shim path mid-takeover) - luma/dump/barcode readback disabled for non-4-byte swapchain formats (staging buffers assumed 4 B/texel; wider fallback formats would overflow) - vkWaitForFences: honor timeouts everywhere; never reset a pending cmd buffer - detect_ue_queue: keep the caller's queue family/index when detection fails - xrr_get_node_pose: g_spaceLock vs the sitting/standing appSpace recreate (locate on a freed XrSpace) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>