kms/cursor-manager: Only update cursor plane relevant device on mode set
When we see a mode set, the cursor manager will update all the cursor planes so they are set correctly as part of the mode set. KMS updates are always per-device, and what was wrong was that it didn't filter out CRTCs on devices that wasn't part of the mode set. Reported-by: Michel Dänzer <mdaenzer@redhat.com> Tested-by: Michel Dänzer <mdaenzer@redhat.com> Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3130>
This commit is contained in:
parent
cf3a5da1d5
commit
358c10de14
@ -458,6 +458,10 @@ update_filter_cb (MetaKmsImpl *impl,
|
|||||||
MetaKmsCrtc *crtc = crtc_state_impl->crtc;
|
MetaKmsCrtc *crtc = crtc_state_impl->crtc;
|
||||||
MetaDrmBuffer *old_buffer = NULL;
|
MetaDrmBuffer *old_buffer = NULL;
|
||||||
|
|
||||||
|
if (meta_kms_crtc_get_device (crtc) !=
|
||||||
|
meta_kms_update_get_device (update))
|
||||||
|
continue;
|
||||||
|
|
||||||
update = maybe_update_cursor_plane (cursor_manager_impl,
|
update = maybe_update_cursor_plane (cursor_manager_impl,
|
||||||
crtc, update, &old_buffer);
|
crtc, update, &old_buffer);
|
||||||
if (old_buffer)
|
if (old_buffer)
|
||||||
|
Loading…
Reference in New Issue
Block a user