From: Christian Hergert <[email protected]> Plane state duplication preserves ignore_damage_clips. Once fbdev sets it for a dumb buffer, later updates using rendered resources continue to ignore damage because the flag is never cleared.
Assign ignore_damage_clips on every atomic check so rendered resources can use supplied damage after an earlier dumb-buffer update. Signed-off-by: Christian Hergert <[email protected]> Reviewed-by: Lyude Paul <[email protected]> Signed-off-by: Lyude Paul <[email protected]> --- drivers/gpu/drm/virtio/virtgpu_plane.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c index d9579a4b4714c..95ec688690d3a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_plane.c +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -119,8 +119,8 @@ static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, * so preserve userspace's accumulated per-buffer damage for those. */ bo = gem_to_virtio_gpu_obj(new_plane_state->fb->obj[0]); - if (old_plane_state->fb != new_plane_state->fb && bo->dumb) - new_plane_state->ignore_damage_clips = true; + new_plane_state->ignore_damage_clips = + old_plane_state->fb != new_plane_state->fb && bo->dumb; crtc_state = drm_atomic_get_crtc_state(state, new_plane_state->crtc); -- 2.55.0
