Skip to content

API: move logical geometry to floating point#3032

Draft
ammen99 wants to merge 3 commits into
masterfrom
floating-geometry
Draft

API: move logical geometry to floating point#3032
ammen99 wants to merge 3 commits into
masterfrom
floating-geometry

Conversation

@ammen99
Copy link
Copy Markdown
Member

@ammen99 ammen99 commented May 23, 2026

This is a huge breaking change, aiming to make it possible to get pixel-perfect layouts on outputs with fractional scaling. The entire codebase (geometries and damage coordinates) have now been moved to floating point numbers. This PR has been largely generated with the help of LLMs and still needs to be reviewed very carefully, thus the draft state.

It is a breaking change for plugins, which will most likely have to adapt, however, aside from the int -> double conversion, very little has changed semantically, so updating plugins should be easy.

@mark-herbert42
Copy link
Copy Markdown
Contributor

I remember there was a bug in firefox when different rounding in this floating poing geometry was causing a lot of crashes when size of the frame did not match the size of the video being decoded into that frame. The difference was really funny like 0.0050 something but that was enough to crash wayland. So it might be a challenge to implement...

@ammen99 ammen99 force-pushed the floating-geometry branch from f4962a1 to 7aeaf97 Compare May 26, 2026 07:31
@ammen99 ammen99 force-pushed the floating-geometry branch from 7aeaf97 to 4aa191b Compare June 2, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants