[mutter] kms/mode: Add mode flags



commit 2c4a3c5959a9c777c1410344ef774fba50da0989
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Thu Jul 2 11:50:34 2020 +0200

    kms/mode: Add mode flags
    
    Will be used to add flags modes specific to MetaKmsMode.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1488>

 src/backends/native/meta-kms-connector.c    |  3 ++-
 src/backends/native/meta-kms-mode-private.h |  3 ++-
 src/backends/native/meta-kms-mode.c         | 11 ++++++++++-
 src/backends/native/meta-kms-mode.h         |  7 +++++++
 4 files changed, 21 insertions(+), 3 deletions(-)
---
diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c
index e019651888..8bf5393dc8 100644
--- a/src/backends/native/meta-kms-connector.c
+++ b/src/backends/native/meta-kms-connector.c
@@ -364,7 +364,8 @@ state_set_modes (MetaKmsConnectorState *state,
     {
       MetaKmsMode *mode;
 
-      mode = meta_kms_mode_new (impl_device, &drm_connector->modes[i]);
+      mode = meta_kms_mode_new (impl_device, &drm_connector->modes[i],
+                                META_KMS_MODE_FLAG_NONE);
       state->modes = g_list_prepend (state->modes, mode);
     }
   state->modes = g_list_reverse (state->modes);
diff --git a/src/backends/native/meta-kms-mode-private.h b/src/backends/native/meta-kms-mode-private.h
index 5694db07a8..7917cfe7c7 100644
--- a/src/backends/native/meta-kms-mode-private.h
+++ b/src/backends/native/meta-kms-mode-private.h
@@ -28,6 +28,7 @@ uint32_t meta_kms_mode_ensure_blob_id (MetaKmsMode  *mode,
 void meta_kms_mode_free (MetaKmsMode *mode);
 
 MetaKmsMode * meta_kms_mode_new (MetaKmsImplDevice     *impl_device,
-                                 const drmModeModeInfo *drm_mode);
+                                 const drmModeModeInfo *drm_mode,
+                                 MetaKmsModeFlag        flags);
 
 #endif /* META_KMS_MODE_PRIVATE_H */
diff --git a/src/backends/native/meta-kms-mode.c b/src/backends/native/meta-kms-mode.c
index 07c793f394..c767eb88f7 100644
--- a/src/backends/native/meta-kms-mode.c
+++ b/src/backends/native/meta-kms-mode.c
@@ -26,6 +26,7 @@
 struct _MetaKmsMode
 {
   MetaKmsImplDevice *impl_device;
+  MetaKmsModeFlag flags;
   drmModeModeInfo drm_mode;
   uint32_t blob_id;
 };
@@ -54,6 +55,12 @@ meta_kms_mode_ensure_blob_id (MetaKmsMode  *mode,
   return mode->blob_id;
 }
 
+MetaKmsModeFlag
+meta_kms_mode_get_flags (MetaKmsMode *mode)
+{
+  return mode->flags;
+}
+
 const drmModeModeInfo *
 meta_kms_mode_get_drm_mode (MetaKmsMode *mode)
 {
@@ -77,12 +84,14 @@ meta_kms_mode_free (MetaKmsMode *mode)
 
 MetaKmsMode *
 meta_kms_mode_new (MetaKmsImplDevice     *impl_device,
-                   const drmModeModeInfo *drm_mode)
+                   const drmModeModeInfo *drm_mode,
+                   MetaKmsModeFlag        flags)
 {
   MetaKmsMode *mode;
 
   mode = g_new0 (MetaKmsMode, 1);
   mode->impl_device = impl_device;
+  mode->flags = flags;
   mode->drm_mode = *drm_mode;
 
   return mode;
diff --git a/src/backends/native/meta-kms-mode.h b/src/backends/native/meta-kms-mode.h
index 91458f5c3f..1e3e83a2f1 100644
--- a/src/backends/native/meta-kms-mode.h
+++ b/src/backends/native/meta-kms-mode.h
@@ -26,6 +26,13 @@
 
 #include "backends/native/meta-kms-types.h"
 
+typedef enum _MetaKmsModeFlag
+{
+  META_KMS_MODE_FLAG_NONE = 0,
+} MetaKmsModeFlag;
+
+MetaKmsModeFlag meta_kms_mode_get_flags (MetaKmsMode *mode);
+
 const drmModeModeInfo * meta_kms_mode_get_drm_mode (MetaKmsMode *mode);
 
 #endif /* META_KMS_MODE_H */


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