summaryrefslogtreecommitdiff
path: root/src/backends/native
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2019-11-08 11:31:29 +0100
committerJonas Ådahl <jadahl@gmail.com>2020-02-11 18:32:07 +0100
commit3a8c545b32eb09247d86ef19d83029b94f040734 (patch)
treebc1fda90cfaa212a5d47c1a648787385149c99eb /src/backends/native
parent6c1e9b51f9215d449690238db80f43de1682ce50 (diff)
downloadmutter-3a8c545b32eb09247d86ef19d83029b94f040734.tar.gz
kms/device: Add getter for finding cursor planes
Works the same as the getter for the primary planes. https://gitlab.gnome.org/GNOME/mutter/merge_requests/930
Diffstat (limited to 'src/backends/native')
-rw-r--r--src/backends/native/meta-kms-device.c23
-rw-r--r--src/backends/native/meta-kms-device.h3
2 files changed, 22 insertions, 4 deletions
diff --git a/src/backends/native/meta-kms-device.c b/src/backends/native/meta-kms-device.c
index c6a05e83c..376ac5a91 100644
--- a/src/backends/native/meta-kms-device.c
+++ b/src/backends/native/meta-kms-device.c
@@ -89,9 +89,10 @@ meta_kms_device_get_planes (MetaKmsDevice *device)
return device->planes;
}
-MetaKmsPlane *
-meta_kms_device_get_primary_plane_for (MetaKmsDevice *device,
- MetaKmsCrtc *crtc)
+static MetaKmsPlane *
+get_plane_with_type_for (MetaKmsDevice *device,
+ MetaKmsCrtc *crtc,
+ MetaKmsPlaneType type)
{
GList *l;
@@ -99,7 +100,7 @@ meta_kms_device_get_primary_plane_for (MetaKmsDevice *device,
{
MetaKmsPlane *plane = l->data;
- if (meta_kms_plane_get_plane_type (plane) != META_KMS_PLANE_TYPE_PRIMARY)
+ if (meta_kms_plane_get_plane_type (plane) != type)
continue;
if (meta_kms_plane_is_usable_with (plane, crtc))
@@ -109,6 +110,20 @@ meta_kms_device_get_primary_plane_for (MetaKmsDevice *device,
return NULL;
}
+MetaKmsPlane *
+meta_kms_device_get_primary_plane_for (MetaKmsDevice *device,
+ MetaKmsCrtc *crtc)
+{
+ return get_plane_with_type_for (device, crtc, META_KMS_PLANE_TYPE_PRIMARY);
+}
+
+MetaKmsPlane *
+meta_kms_device_get_cursor_plane_for (MetaKmsDevice *device,
+ MetaKmsCrtc *crtc)
+{
+ return get_plane_with_type_for (device, crtc, META_KMS_PLANE_TYPE_CURSOR);
+}
+
void
meta_kms_device_update_states_in_impl (MetaKmsDevice *device)
{
diff --git a/src/backends/native/meta-kms-device.h b/src/backends/native/meta-kms-device.h
index ea0f9aab5..d3d655fec 100644
--- a/src/backends/native/meta-kms-device.h
+++ b/src/backends/native/meta-kms-device.h
@@ -42,6 +42,9 @@ GList * meta_kms_device_get_crtcs (MetaKmsDevice *device);
MetaKmsPlane * meta_kms_device_get_primary_plane_for (MetaKmsDevice *device,
MetaKmsCrtc *crtc);
+MetaKmsPlane * meta_kms_device_get_cursor_plane_for (MetaKmsDevice *device,
+ MetaKmsCrtc *crtc);
+
int meta_kms_device_dispatch_sync (MetaKmsDevice *device,
GError **error);