warn once when a flipped output transform loses its mirror - #591
Conversation
transform_degrees folds the four Flipped variants into their rotation and drops the mirror half, so a consumer correcting frames by this value serves a flipped output mirrored. No compositor of ours can produce a flipped output to measure the mirror against, so carrying it waits for a measured producer; until then the loss is said once in the log instead of silently, and the doc states it.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthrough
ChangesWayland transform handling
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR makes the existing flipped-output limitation visible with a one-time warning without changing current transform behavior. No actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
I’d request changes on this PR. I found one functional review issue and one documentation issue. [P2] The new warning is lost on the
|
follow-up to a finding on rustdesk/rustdesk#15889: transform_degrees folds the four Flipped variants into their rotation, and the mirror half is dropped before any consumer sees it - so a flipped output ends up streamed mirrored, silently. wayland defines the flipped variants as a vertical-axis mirror followed by the rotation.
this is the interim, not the full fix: the loss is logged once instead of silently, and the doc on the function states exactly what is and is not corrected. the eight-variant mapping test still pins the degree half.
the full fix is carrying the flip bit through WaylandDisplayInfo (serde default keeps old snapshots compatible) and mirroring frames, cursor and hotspot on the consumer side. i verified a producer exists to measure that against - sway accepts
output Virtual-1 transform flipped-90and reports the flipped transform on wl_output - so i plan that as its own change; it touches capture, cursor and input plumbing well beyond this crate.Summary by CodeRabbit