diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c index b15eee14d..980487482 100644 --- a/src/backends/native/meta-kms-impl-device.c +++ b/src/backends/native/meta-kms-impl-device.c @@ -198,6 +198,26 @@ meta_kms_impl_device_peek_planes (MetaKmsImplDevice *impl_device) return priv->planes; } +gboolean +meta_kms_impl_device_has_cursor_plane_for (MetaKmsImplDevice *impl_device, + MetaKmsCrtc *crtc) +{ + MetaKmsImplDevicePrivate *priv = + meta_kms_impl_device_get_instance_private (impl_device); + GList *l; + + for (l = priv->planes; l; l = l->next) + { + MetaKmsPlane *plane = l->data; + + if (meta_kms_plane_get_plane_type (plane) == META_KMS_PLANE_TYPE_CURSOR && + meta_kms_plane_is_usable_with (plane, crtc)) + return TRUE; + } + + return FALSE; +} + const MetaKmsDeviceCaps * meta_kms_impl_device_get_caps (MetaKmsImplDevice *impl_device) { diff --git a/src/backends/native/meta-kms-impl-device.h b/src/backends/native/meta-kms-impl-device.h index 271ccbfd1..d32e06630 100644 --- a/src/backends/native/meta-kms-impl-device.h +++ b/src/backends/native/meta-kms-impl-device.h @@ -119,6 +119,9 @@ GList * meta_kms_impl_device_peek_crtcs (MetaKmsImplDevice *impl_device); GList * meta_kms_impl_device_peek_planes (MetaKmsImplDevice *impl_device); +gboolean meta_kms_impl_device_has_cursor_plane_for (MetaKmsImplDevice *impl_device, + MetaKmsCrtc *crtc); + const MetaKmsDeviceCaps * meta_kms_impl_device_get_caps (MetaKmsImplDevice *impl_device); GList * meta_kms_impl_device_copy_fallback_modes (MetaKmsImplDevice *impl_device);