protocols: honor tearing hints and fractional scale
Drive the output commit's async-flip flag from the shown surface's tearing hint (a real tearing flip on DRM; correctly ignored on headless/nested), with per-object hint tracking that requests a frame on change. Notify each surface of the output scale at claim so clients never guess preferred_scale. wltest gains --tearing and --fractional-out (plus linking the two protocol stubs it now uses); smoke tests cover the async commit transition and the notified scale value.
This commit is contained in:
parent
8a71a062ce
commit
50a660860d
5 changed files with 228 additions and 18 deletions
10
README.md
10
README.md
|
|
@ -402,6 +402,16 @@ libinput touchpad gestures feed this; in nested mode the host only offers
|
|||
synthesize them. Relay activity is logged with the `[gesture]` prefix at
|
||||
`KICK_LOG=2`.
|
||||
|
||||
## Tearing control / fractional scale
|
||||
|
||||
A surface opting into `wp_tearing_control_v1` async presentation drives
|
||||
the output commit's async-flip flag from the shown tab's hint (logged as
|
||||
`[tearing] async|vsync` at `KICK_LOG=2`, transitions only): on DRM this
|
||||
becomes a real tearing page flip for game tabs, while headless and nested
|
||||
outputs correctly ignore it. Every surface is also told the output scale
|
||||
via `wp_fractional_scale_v1` when claimed, so clients never have to guess
|
||||
(120 = 1.0).
|
||||
|
||||
## Logging (`KICK_LOG`)
|
||||
|
||||
Quiet by default: a plain launch prints nothing to the launching terminal
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue