You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With far_field.enabled + Share mode (the default until 0d90744), the shared far field produces massive visual artifacts in VR. This may not be new breakage: earlier sessions possibly ran with the share not actually kicking in, and recent changes (release builds, the OpenXR loader being found again) may have activated the full path for the first time in a while.
far_field.enabled now defaults off (0d90744) until this is resolved; re-enable it in the Render tab (mode Share) to reproduce.
Leads
Resolution mismatch: the VR native-resolution resize (e.g. 1141x1405 -> 2015x2240) happens after bring-up via the deferred engine resize. If the share pipeline's captured far G-buffer targets are not recreated at the new size, the composite samples a missized capture — consistent with "massive artifacts" rather than subtle ghosting.
Session state: the artifact session reused a persisted OpenXR instance after a crash; worth reproducing from a clean launch to rule out stale share-pipeline COM state (far_field::share::teardown runs on uninject, but the crash path may have skipped it).
The planned far-field temporal reuse (render the far field every N frames) and the frame-tail/pipelining work both restructure when the far G-buffer is produced versus consumed. The artifact fix should be designed together with those rather than patched in place — a re-captured, correctly-sized, explicitly-lifetimed far G-buffer is a prerequisite for all three.
Problem
With
far_field.enabled+Sharemode (the default until 0d90744), the shared far field produces massive visual artifacts in VR. This may not be new breakage: earlier sessions possibly ran with the share not actually kicking in, and recent changes (release builds, the OpenXR loader being found again) may have activated the full path for the first time in a while.far_field.enablednow defaults off (0d90744) until this is resolved; re-enable it in the Render tab (modeShare) to reproduce.Leads
far_field::share::teardownruns on uninject, but the crash path may have skipped it).Relationship to frame pipelining
The planned far-field temporal reuse (render the far field every N frames) and the frame-tail/pipelining work both restructure when the far G-buffer is produced versus consumed. The artifact fix should be designed together with those rather than patched in place — a re-captured, correctly-sized, explicitly-lifetimed far G-buffer is a prerequisite for all three.