backend/drm: clip FB damage

Simon Ser requested to merge emersion/wlroots:drm-damage-clip into master

The kernel complains when the damage exceeds the FB bounds:

[73850.448326] i915 0000:00:02.0: [drm:drm_atomic_check_only] [PLANE:31:plane 1A] invalid damage clip 0 0 2147483647 2147483647

Make the DRM backend behave like the Wayland one and allow compositors to damage (0, 0, INT32_MAX, INT32_MAX) to repaint everything without needing to know the exact buffer size.

Closes: https://github.com/swaywm/sway/issues/7632

Merge request reports