mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-05 15:48:05 +02:00
drm-backend: do not skip renderer if capturing screen
The renderer must be called for any pending screen capture to complete. Previously this was guaranteed by weston_screenshooter_shoot() forcing full output damage, so damage was never empty. If the future, screenshooting stops inflicting damage, and the damage on the primary plane even after disabling hardware planes may be empty. This patch ensures that screenshots do not get stuck until damage occurs. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
parent
0f7da612eb
commit
7f1a113c89
1 changed files with 3 additions and 1 deletions
|
|
@ -366,9 +366,11 @@ drm_output_render(struct drm_output_state *state, pixman_region32_t *damage)
|
|||
* If we don't have any damage on the primary plane, and we already
|
||||
* have a renderer buffer active, we can reuse it; else we pass
|
||||
* the damaged region into the renderer to re-render the affected
|
||||
* area.
|
||||
* area. But, we still have to call the renderer anyway if any screen
|
||||
* capture is pending, otherwise the capture will not complete.
|
||||
*/
|
||||
if (!pixman_region32_not_empty(damage) &&
|
||||
wl_list_empty(&output->base.frame_signal.listener_list) &&
|
||||
scanout_plane->state_cur->fb &&
|
||||
(scanout_plane->state_cur->fb->type == BUFFER_GBM_SURFACE ||
|
||||
scanout_plane->state_cur->fb->type == BUFFER_PIXMAN_DUMB)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue