Skip to content

v2.13.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 07:02
· 70 commits to main since this release

Highlights

  • Multi-screen on Windows: a window straddling two Leia panels is woven and head-tracked per screen. With runtime v2.30.0+ and LeiaSR 1.38.0+2141, an in-process D3D11 app spanning two Leia displays gets one display processor per screen. Each half is woven for its own panel, drives its own lens, and looks around from its own panel's camera. A second panel with no tracker of its own gets a nominal viewer instead of the other panel's eyes (#315).
  • Lift look-around follows the runtime's viewpoint policy. 2D→3D lift streams now take the runtime's window-relative viewpoint policy: look-around is relative to the lifted rect, with the runtime's IPD/parallax factors, optional vertical and lean-in/out axes, and clamping. Older runtimes keep today's behaviour unchanged (#317).

Features

  • Windows: create_dp_d3d11_for_screen creates a D3D11 DP bound to one screen's SR display, with a windowless EXTERNAL weaver, display binding, and a fallback order (drop the binding, then the routing) when the SR runtime refuses a weaver create. Unbound DPs behave exactly as before (#315).
  • Windows: set_present_origin forwards the per-screen phase origin to srWeaverSetPresentOrigin, and process_atlas scissors to the canvas for segment DPs (#315).
  • Windows: per-display lens binding (SR D3) and per-display eye tracker (SR D4). A screen-bound DP drives its own panel's 2D/3D lens state, and is tracked by that panel's own camera when the SR service supports it (#315).
  • Windows: get_display_info_for_monitor reports the SR-calibrated physical size, native resolution and nominal viewer for every claimed Leia panel, so the runtime can compute per-segment views (#315).
  • Windows: probe_displays joins the runtime's monitor list with srEnumerateDisplays. Claims follow SR's confidence (FPC-verified panels report VERIFIED with their FPC serial), and a Leia panel that SR lists is claimed even when the built-in table does not know it (#314).
  • Linux: probe_displays implemented, giving per-monitor Leia claims from EDID and, where available, SR display enumeration (#311).
  • Linux: per-screen Vulkan DPs (create_dp_vk_for_screen), an always-windowless weaver, SR routing/binding chain, real panel refresh rate from SR, and the FPC serial read from the SR service's device store on LeiaSR 1.38 (#313).
  • Lift: new per-stream YGain / ZGain knobs. ViewGain, ConvGain, DepthGain, Dilate and Scale are re-read at each stream create, so a registry change applies to the next stream without a service restart (#317).
  • Build: SR v2 SDK pinned to sr-sdk-v2-1.38.0.2141. CI is repinned to runtime v2.31.0 (Windows) and v2.30.0 (Linux) (#314, #315, #319, #320, #321).

Fixes

  • Linux: a segment DP that cannot weave its own panel presents flat instead of weaving the wrong panel, and the EXTERNAL lens release is recorded even when srLensDisable fails (#313).
  • Per-weave diagnostics are now per DP, so two DPs alternating on one window no longer log a WARN every frame (#315).

What's Changed

  • feat(linux): implement probe_displays (multi-screen M0) by @dfattal in #311
  • feat(linux): per-DP screen binding, windowless weaver, SR routing/binding chain (multi-screen M4) by @dfattal in #313
  • feat(win): probe_displays joins the SR runtime's display enumeration (multi-screen M0) by @dfattal in #314
  • chore(ci): repin runtime v2.27.0 -> v2.30.0 (windows) by @displayxr-publish-bot[bot] in #319
  • chore(ci): repin runtime v2.29.0 -> v2.30.0 (linux) by @displayxr-publish-bot[bot] in #320
  • feat(win): multi-screen M6 — one D3D11 DP per screen, bound EXTERNAL weaver; nominal viewer, bound lens (D3) and own tracker (D4) on the second panel by @dfattal in #315
  • feat(lift): honour the runtime's viewpoint policy (rect-relative, baseline, y/z, per-stream knobs) by @dfattal in #317
  • chore(ci): repin runtime v2.30.0 -> v2.31.0 (windows) by @displayxr-publish-bot[bot] in #321

Full Changelog: v2.12.0...v2.13.0