Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3
5 livrables d'industrialisation posés avant la phase 13 (client réel). - .gitlab-ci.yml : pipeline minimal (fmt-check + tests core + tests frontend nightly). Pas de cross-compile Redox dans le MVP. - rustfmt.toml + fmt.sh : config formatter racine + boucle sur les 23 crates ; fmt sweep appliqué (d'où les diffs cosmétiques). - tracing dans wayland-frontend : 22 println/eprintln remplacés par debug/info/warn/error selon sévérité. Préfixe "[frontend]" supprimé (le target tracing le fournit). - tracing-subscriber dans le compositor : TeeWriter écrit sur stdout + /scheme/debug, filtre via RUST_LOG (défaut info). DebugSink/dlog supprimés. - 15 tests unitaires xdg-shell après extraction de 2 helpers libres (clamp_to_min_max + should_throttle_configure). Couvre compute_resize_geom, contraintes min/max et throttling configure. - LICENSE (GPLv3 texte officiel FSF) + .editorconfig. Total tests : 27 → 42 automatisés (compositor-core + frontend). Leyoda 2026 – GPLv3
This commit is contained in:
parent
2150f31d82
commit
8795f39f08
30 changed files with 1373 additions and 298 deletions
|
|
@ -20,12 +20,9 @@ use std::os::fd::AsRawFd;
|
|||
use std::slice;
|
||||
use std::sync::Arc;
|
||||
|
||||
use drm::Device as _;
|
||||
use drm::buffer::{Buffer as _, DrmFourcc};
|
||||
use drm::control::{
|
||||
ClipRect, Device as _, Mode, connector,
|
||||
crtc as drm_crtc, framebuffer,
|
||||
};
|
||||
use drm::control::{connector, crtc as drm_crtc, framebuffer, ClipRect, Device as _, Mode};
|
||||
use drm::Device as _;
|
||||
use graphics_ipc::{CpuBackedBuffer, V2GraphicsHandle};
|
||||
use inputd::ConsumerHandle;
|
||||
|
||||
|
|
@ -82,8 +79,7 @@ impl RedoxOutput {
|
|||
break;
|
||||
}
|
||||
}
|
||||
let (connector, info) =
|
||||
chosen.ok_or_else(|| io::Error::other("no connected display"))?;
|
||||
let (connector, info) = chosen.ok_or_else(|| io::Error::other("no connected display"))?;
|
||||
|
||||
let mode = info
|
||||
.modes()
|
||||
|
|
@ -180,9 +176,7 @@ impl RedoxOutput {
|
|||
let bytes = buffer.shadow_buf();
|
||||
let (w, h) = (self.width as usize, self.height as usize);
|
||||
// SAFETY: alignment 4 garantie par DumbBuffer ARGB8888 + len % 4 == 0
|
||||
let pixels = unsafe {
|
||||
slice::from_raw_parts_mut(bytes.as_mut_ptr() as *mut u32, w * h)
|
||||
};
|
||||
let pixels = unsafe { slice::from_raw_parts_mut(bytes.as_mut_ptr() as *mut u32, w * h) };
|
||||
Ok(pixels)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue