Skip to content

libweston: improve frame callback handling with surfaces on multiple outputs

Michael Olbrich requested to merge mol/weston:frame into main

Right now, the frame callback of a surface is handled when the output assigned to the surface is repainted. With one view that spans multiple outputs, the output with the largest area is chosen. For multiple views it depends on which view changes last. In either case, this can be a problem, when the outputs have different framerates. For example, there are two outputs, one with 30fps and another with 60fps. The surface for an application is visible on both outputs. If the output with 30fps is 'selected' as the output for the surface, then the application may produce only 30pfs even though the other output could show the full 60fps.

So handle the frame callbacks for all surfaces that are visible on an output, not just those where the output is explicitly assigned.

Signed-off-by: Michael Olbrich m.olbrich@pengutronix.de

Merge request reports