[mutter] kms/update: Add getter for cursor plane assignment



commit bf398a5f8467277c00a6db402754a3cf59c62f8e
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Wed Jun 16 10:21:55 2021 +0200

    kms/update: Add getter for cursor plane assignment
    
    To be used in tests.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2159>

 src/backends/native/meta-kms-update-private.h |  3 +++
 src/backends/native/meta-kms-update.c         | 23 +++++++++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)
---
diff --git a/src/backends/native/meta-kms-update-private.h b/src/backends/native/meta-kms-update-private.h
index 44c950ea22..4fcc170c23 100644
--- a/src/backends/native/meta-kms-update-private.h
+++ b/src/backends/native/meta-kms-update-private.h
@@ -136,6 +136,9 @@ void meta_kms_plane_assignment_set_rotation (MetaKmsPlaneAssignment *plane_assig
 MetaKmsPlaneAssignment * meta_kms_update_get_primary_plane_assignment (MetaKmsUpdate *update,
                                                                        MetaKmsCrtc   *crtc);
 
+MetaKmsPlaneAssignment * meta_kms_update_get_cursor_plane_assignment (MetaKmsUpdate *update,
+                                                                      MetaKmsCrtc   *crtc);
+
 GList * meta_kms_update_get_plane_assignments (MetaKmsUpdate *update);
 
 GList * meta_kms_update_get_mode_sets (MetaKmsUpdate *update);
diff --git a/src/backends/native/meta-kms-update.c b/src/backends/native/meta-kms-update.c
index 18999210fb..d3a6b85a29 100644
--- a/src/backends/native/meta-kms-update.c
+++ b/src/backends/native/meta-kms-update.c
@@ -595,9 +595,10 @@ meta_kms_result_listener_free (MetaKmsResultListener *listener)
   g_free (listener);
 }
 
-MetaKmsPlaneAssignment *
-meta_kms_update_get_primary_plane_assignment (MetaKmsUpdate *update,
-                                              MetaKmsCrtc   *crtc)
+static MetaKmsPlaneAssignment *
+get_first_plane_assignment (MetaKmsUpdate    *update,
+                            MetaKmsCrtc      *crtc,
+                            MetaKmsPlaneType  plane_type)
 {
   GList *l;
 
@@ -606,7 +607,7 @@ meta_kms_update_get_primary_plane_assignment (MetaKmsUpdate *update,
       MetaKmsPlaneAssignment *plane_assignment = l->data;
 
       if (meta_kms_plane_get_plane_type (plane_assignment->plane) !=
-          META_KMS_PLANE_TYPE_PRIMARY)
+          plane_type)
         continue;
 
       if (plane_assignment->crtc != crtc)
@@ -618,6 +619,20 @@ meta_kms_update_get_primary_plane_assignment (MetaKmsUpdate *update,
   return NULL;
 }
 
+MetaKmsPlaneAssignment *
+meta_kms_update_get_primary_plane_assignment (MetaKmsUpdate *update,
+                                              MetaKmsCrtc   *crtc)
+{
+  return get_first_plane_assignment (update, crtc, META_KMS_PLANE_TYPE_PRIMARY);
+}
+
+MetaKmsPlaneAssignment *
+meta_kms_update_get_cursor_plane_assignment (MetaKmsUpdate *update,
+                                             MetaKmsCrtc   *crtc)
+{
+  return get_first_plane_assignment (update, crtc, META_KMS_PLANE_TYPE_CURSOR);
+}
+
 GList *
 meta_kms_update_get_plane_assignments (MetaKmsUpdate *update)
 {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]