aboutsummaryrefslogtreecommitdiff
path: root/examples/idle.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-09-07 10:45:05 +0200
committerKenny Levinsen <kl@kl.wtf>2021-09-07 22:27:31 +0200
commit04304c322e6d6e7b2c020b1e1bada3a84f5c06c6 (patch)
tree47f25d5572057d87984f1e9a27be71f62f33974e /examples/idle.c
parent35f0a0d5700fba0626137fbcf5f3b04f03a831ec (diff)
output-damage: fix damage on modeset
On modeset wlr_output will internally allocate a buffer. The backend will emit a "mode" output event, then wlr_output will emit a "commit" event. wlr_output_damage handles the "mode" event by damaging the whole output, and then handles the "commit" event. However the commit event has a buffer, so wlr_output_damage rotates the damage in its ring buffer, thinking the compositor has rendered a frame. The compositor hasn't rendered a frame, what wlr_output_damage sees is the internal wlr_output black buffer used for the modeset. Let's fix this by damaging the whole output in the "commit" event handler if the mode has changed. Additionally, damage the whole output after rotating the damage ring buffer.
Diffstat (limited to 'examples/idle.c')
0 files changed, 0 insertions, 0 deletions