Skip to content

Hardware-verify #328: submit-time view count from the ACTIVE mode (merged untested on hardware) #329

Description

@dfattal

Why this issue exists

#328 (dxr_prov_submit_frame derives the projection layer's viewCount from the ACTIVE rendering mode at submit time instead of the swapchain-creation latch; native~/displayxr_extensions.h mirrored to display_info v19; macOS bundle rebuilt) was merged on CI green for all three platforms only — the submit-time change has not been exercised on hardware. The runtime contract it targets (PRIMARY_STEREO accepts exactly 2, or 1 only while the active mode is 1-view AND XR_DXR_display_info is enabled; a 1-view submission in a 2-view mode is now XR_ERROR_VALIDATION_FAILURE instead of a silent flat-blit) is on runtime main but not yet in a released runtime. Do not cut a plugin release until (a) a runtime release containing runtime#1500 exists and (b) the legs below pass against it.

Test legs (Windows box, dev runtime built from runtime main ≥ c1e4fe00d; displayxr-unity-samples desktop-avatar + one single-pass sample)

For each leg quote the runtime log loaded from: line and the provider log's count/latch lines (capped at 8 — confirm it never exceeds that).

  1. 2D ↔ 3D toggle, repeatedly (V key / xrRequestDisplayRenderingModeDXR), sim-display and Leia SR — zero XR_ERROR_VALIDATION_FAILURE in the runtime log across ≥20 toggles; the frame after each 1→2-view flip is accepted (the race fix(provider): submit the ACTIVE mode's view count + mirror display_info spec v19 (runtime#1486) #328 closes). Compare against the previous plugin build, which must show the silent flat-blit on the same sequence.
  2. Minimised / 0-size window then restore (the ps_reconcile_primary() early-out path) — no rejected frames on restore.
  3. Genuine 1-view mode — submits 1 (the existing Provider: live tile realloc on window/zone resize + render-mode change (handle-app parity) #172 P4 behaviour), accepted.
  4. Zones sample (desktop-avatar) — per-zone swapchains unaffected; no regression in tile realloc.
  5. macOS — load the rebuilt bundle (displayxr_unity.bundle, verified changed on disk 301,488 → 302,944 bytes) in a sample and confirm it initialises; the render-thread vs main-thread mode poll noted in fix(provider): submit the ACTIVE mode's view count + mirror display_info spec v19 (runtime#1486) #328 is exercised by leg 1 there too if a mac 3D display is available (otherwise record NOT tested).

Report

Post raw results per leg here (pass/fail, log excerpts) and a NOT tested list. Close when legs 1–4 pass on Windows; if any fails, revert or fix-forward before the runtime release ships.

Refs #328, DisplayXR/displayxr-runtime#1486, DisplayXR/displayxr-runtime#1519.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions