Skip to content

sim_display D3D11 anaglyph forces alpha=1: browser (weave_frame_first) shows only 3D tiles on black #1742

Description

@dfattal

Symptom

With the sim-display plug-in (anaglyph, the default mode), the DisplayXR Browser shows only its 3D elements; the rest of the page is black. Seen on the 8K box (DEL4147, RTX 3080), runtime feat/lift-ext v2.21.5-30-gcb5a8607b, DisplayXR Browser build #6 (browser-pvt run 36201668011, Chromium 154.0.8037.17), tools/lift-test-page/native.html with three dxr-lift="auto" elements.

Evidence (dxr_weave_dump_trigger dumps from comp_d3d11_service_weave_submit)

#73 diag: submit n=3 input=3759x4098 ... first=1 (a weave_frame_first present-owner: tiles are drawn back whole-window, transparent gaps are supposed to show the page through).

dump gap pixel tile pixel
dxr73_weave_input (3759x4098) (0,0,0,0) (44,44,44,255)
dxr73_weave_sbs (7518x4098) (0,0,0,0) (44,44,44,255)
dxr73_weave_output (3759x4098, fmt 28) (0,0,0,255) (44,44,44,255)

The gaps arrive transparent and leave the DP opaque black.

Cause (likely)

src/xrt/drivers/sim_display/sim_display_processor_d3d11.cpp: the anaglyph pixel shader returns
out_finish(float4(left.r, right.g, right.b, 1.0), uv), which hard-codes alpha = 1.0. Yet the DP advertises itself as alpha-native (sim_dp_d3d11_is_alpha_native, "passes atlas alpha through its blend/anaglyph/SBS pixel shaders to the back buffer — alpha-native by construction"). SBS / squeezed-SBS / quad sample the atlas and keep its alpha; the blend shader should be audited too.

Leia's DP handles this path correctly (the browser works on the Leia plug-in), so this is sim-only. It matters because sim is the no-hardware path for browser/inline-3D and XR_DXR_lift testing (SIM_DISPLAY_FAKE_LIFT=1).

Fix sketch

Anaglyph: carry alpha, e.g. max(left.a, right.a) (or left.a), and check ps_blend_source the same way. Then verify with the dxr_weave_dump_trigger output dump: gaps (0,0,0,0).

Reported by David on the panel; evidence captured by the win-box-8k session (tmp-lift-panel).

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