danos/system/services/display
Daniel Samson 9333d0572f
display: pluggable scanout backend seam (v2 V1)
Extract scanout from the compositor into backend.zig — a `Backend` tagged union
with info()/surface()/present(damage) and canModeSet/hasVsync flags. The v1 GOP
path becomes `backend.Gop` (claim the display node, WC-map the LFB, keep the
cacheable back buffer, present = the damage-rect WC copy); display.zig now
composes into backend.surface() and calls backend.present(damage), with no LFB or
framebuffer geometry left in the compositor core. The selection decision is the
pure chooseKind(native_available), split from the syscall-bound bring-up, ready
for the native-if-present branch at V4.

Pure refactor: display-service, display-demo, and zig build test all pass
unchanged.
2026-07-14 09:40:15 +01:00
..
backend.zig display: pluggable scanout backend seam (v2 V1) 2026-07-14 09:40:15 +01:00
compositor.zig display: layer stack + damage-driven compositor (D3) 2026-07-14 01:39:04 +01:00
display.zig display: pluggable scanout backend seam (v2 V1) 2026-07-14 09:40:15 +01:00
protocol.zig display: layer client API + the display-demo client (D4) 2026-07-14 01:56:37 +01:00