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).
Symptom
With the
sim-displayplug-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), runtimefeat/lift-extv2.21.5-30-gcb5a8607b, DisplayXR Browser build #6 (browser-pvt run 36201668011, Chromium 154.0.8037.17),tools/lift-test-page/native.htmlwith threedxr-lift="auto"elements.Evidence (
dxr_weave_dump_triggerdumps fromcomp_d3d11_service_weave_submit)#73 diag: submit n=3 input=3759x4098 ... first=1(aweave_frame_firstpresent-owner: tiles are drawn back whole-window, transparent gaps are supposed to show the page through).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 returnsout_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_lifttesting (SIM_DISPLAY_FAKE_LIFT=1).Fix sketch
Anaglyph: carry alpha, e.g.
max(left.a, right.a)(orleft.a), and checkps_blend_sourcethe same way. Then verify with thedxr_weave_dump_triggeroutput dump: gaps(0,0,0,0).Reported by David on the panel; evidence captured by the win-box-8k session (tmp-lift-panel).