native: Rename MetaMonitorManagerKms to MetaMonitorManagerNative

We'll sooner or later start managing not only KMS backend monitors, but
virtual / remote ones too.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1698>
This commit is contained in:
Jonas Ådahl 2020-12-17 22:12:41 +01:00 committed by Marge Bot
parent 42d614f6fa
commit 3091cd89dc
6 changed files with 131 additions and 115 deletions

View File

@ -53,7 +53,7 @@
#include "backends/native/meta-kms.h" #include "backends/native/meta-kms.h"
#include "backends/native/meta-kms-device.h" #include "backends/native/meta-kms-device.h"
#include "backends/native/meta-launcher.h" #include "backends/native/meta-launcher.h"
#include "backends/native/meta-monitor-manager-kms.h" #include "backends/native/meta-monitor-manager-native.h"
#include "backends/native/meta-renderer-native.h" #include "backends/native/meta-renderer-native.h"
#include "backends/native/meta-seat-native.h" #include "backends/native/meta-seat-native.h"
#include "backends/native/meta-stage-native.h" #include "backends/native/meta-stage-native.h"
@ -214,7 +214,7 @@ meta_backend_native_create_monitor_manager (MetaBackend *backend,
{ {
MetaMonitorManager *manager; MetaMonitorManager *manager;
manager = g_initable_new (META_TYPE_MONITOR_MANAGER_KMS, NULL, error, manager = g_initable_new (META_TYPE_MONITOR_MANAGER_NATIVE, NULL, error,
"backend", backend, "backend", backend,
NULL); NULL);
if (!manager) if (!manager)
@ -638,8 +638,8 @@ meta_backend_native_pause (MetaBackendNative *native)
MetaBackend *backend = META_BACKEND (native); MetaBackend *backend = META_BACKEND (native);
MetaMonitorManager *monitor_manager = MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend); meta_backend_get_monitor_manager (backend);
MetaMonitorManagerKms *monitor_manager_kms = MetaMonitorManagerNative *monitor_manager_native =
META_MONITOR_MANAGER_KMS (monitor_manager); META_MONITOR_MANAGER_NATIVE (monitor_manager);
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend); ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
MetaSeatNative *seat = MetaSeatNative *seat =
META_SEAT_NATIVE (clutter_backend_get_default_seat (clutter_backend)); META_SEAT_NATIVE (clutter_backend_get_default_seat (clutter_backend));
@ -653,7 +653,7 @@ meta_backend_native_pause (MetaBackendNative *native)
disconnect_udev_device_added_handler (native); disconnect_udev_device_added_handler (native);
meta_monitor_manager_kms_pause (monitor_manager_kms); meta_monitor_manager_native_pause (monitor_manager_native);
} }
void meta_backend_native_resume (MetaBackendNative *native) void meta_backend_native_resume (MetaBackendNative *native)
@ -662,8 +662,8 @@ void meta_backend_native_resume (MetaBackendNative *native)
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend)); ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
MetaMonitorManager *monitor_manager = MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend); meta_backend_get_monitor_manager (backend);
MetaMonitorManagerKms *monitor_manager_kms = MetaMonitorManagerNative *monitor_manager_native =
META_MONITOR_MANAGER_KMS (monitor_manager); META_MONITOR_MANAGER_NATIVE (monitor_manager);
MetaIdleMonitor *idle_monitor; MetaIdleMonitor *idle_monitor;
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend); ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
MetaSeatNative *seat = MetaSeatNative *seat =
@ -674,7 +674,7 @@ void meta_backend_native_resume (MetaBackendNative *native)
COGL_TRACE_BEGIN_SCOPED (MetaBackendNativeResume, COGL_TRACE_BEGIN_SCOPED (MetaBackendNativeResume,
"Backend (resume)"); "Backend (resume)");
meta_monitor_manager_kms_resume (monitor_manager_kms); meta_monitor_manager_native_resume (monitor_manager_native);
meta_kms_resume (native->kms); meta_kms_resume (native->kms);
connect_udev_device_added_handler (native); connect_udev_device_added_handler (native);

View File

@ -34,7 +34,7 @@
#include "backends/native/meta-kms-plane.h" #include "backends/native/meta-kms-plane.h"
#include "backends/native/meta-kms-update.h" #include "backends/native/meta-kms-update.h"
#include "backends/native/meta-kms.h" #include "backends/native/meta-kms.h"
#include "backends/native/meta-monitor-manager-kms.h" #include "backends/native/meta-monitor-manager-native.h"
#define ALL_TRANSFORMS_MASK ((1 << META_MONITOR_N_TRANSFORMS) - 1) #define ALL_TRANSFORMS_MASK ((1 << META_MONITOR_N_TRANSFORMS) - 1)
@ -187,8 +187,8 @@ meta_crtc_kms_maybe_set_gamma (MetaCrtcKms *crtc_kms,
MetaBackend *backend = meta_gpu_get_backend (gpu); MetaBackend *backend = meta_gpu_get_backend (gpu);
MetaMonitorManager *monitor_manager = MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend); meta_backend_get_monitor_manager (backend);
MetaMonitorManagerKms *monitor_manager_kms = MetaMonitorManagerNative *monitor_manager_native =
META_MONITOR_MANAGER_KMS (monitor_manager); META_MONITOR_MANAGER_NATIVE (monitor_manager);
MetaKms *kms = meta_kms_device_get_kms (kms_device); MetaKms *kms = meta_kms_device_get_kms (kms_device);
MetaKmsUpdate *kms_update; MetaKmsUpdate *kms_update;
MetaKmsCrtcGamma *gamma; MetaKmsCrtcGamma *gamma;
@ -196,8 +196,8 @@ meta_crtc_kms_maybe_set_gamma (MetaCrtcKms *crtc_kms,
if (crtc_kms->is_gamma_valid) if (crtc_kms->is_gamma_valid)
return; return;
gamma = meta_monitor_manager_kms_get_cached_crtc_gamma (monitor_manager_kms, gamma = meta_monitor_manager_native_get_cached_crtc_gamma (monitor_manager_native,
crtc_kms); crtc_kms);
if (!gamma) if (!gamma)
return; return;

View File

@ -23,11 +23,11 @@
*/ */
/** /**
* SECTION:meta-monitor-manager-kms * SECTION:meta-monitor-manager-native
* @title: MetaMonitorManagerKms * @title: MetaMonitorManagerNative
* @short_description: A subclass of #MetaMonitorManager using Linux DRM * @short_description: A subclass of #MetaMonitorManager using Linux DRM
* *
* #MetaMonitorManagerKms is a subclass of #MetaMonitorManager which * #MetaMonitorManagerNative is a subclass of #MetaMonitorManager which
* implements its functionality "natively": it uses the appropriate * implements its functionality "natively": it uses the appropriate
* functions of the Linux DRM kernel module and using a udev client. * functions of the Linux DRM kernel module and using a udev client.
* *
@ -36,7 +36,7 @@
#include "config.h" #include "config.h"
#include "backends/native/meta-monitor-manager-kms.h" #include "backends/native/meta-monitor-manager-native.h"
#include <drm.h> #include <drm.h>
#include <errno.h> #include <errno.h>
@ -63,7 +63,7 @@
#include "meta/main.h" #include "meta/main.h"
#include "meta/meta-x11-errors.h" #include "meta/meta-x11-errors.h"
struct _MetaMonitorManagerKms struct _MetaMonitorManagerNative
{ {
MetaMonitorManager parent_instance; MetaMonitorManager parent_instance;
@ -72,7 +72,7 @@ struct _MetaMonitorManagerKms
GHashTable *crtc_gamma_cache; GHashTable *crtc_gamma_cache;
}; };
struct _MetaMonitorManagerKmsClass struct _MetaMonitorManagerNativeClass
{ {
MetaMonitorManagerClass parent_class; MetaMonitorManagerClass parent_class;
}; };
@ -80,23 +80,23 @@ struct _MetaMonitorManagerKmsClass
static void static void
initable_iface_init (GInitableIface *initable_iface); initable_iface_init (GInitableIface *initable_iface);
G_DEFINE_TYPE_WITH_CODE (MetaMonitorManagerKms, meta_monitor_manager_kms, G_DEFINE_TYPE_WITH_CODE (MetaMonitorManagerNative, meta_monitor_manager_native,
META_TYPE_MONITOR_MANAGER, META_TYPE_MONITOR_MANAGER,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE,
initable_iface_init)) initable_iface_init))
static GBytes * static GBytes *
meta_monitor_manager_kms_read_edid (MetaMonitorManager *manager, meta_monitor_manager_native_read_edid (MetaMonitorManager *manager,
MetaOutput *output) MetaOutput *output)
{ {
return meta_output_kms_read_edid (META_OUTPUT_KMS (output)); return meta_output_kms_read_edid (META_OUTPUT_KMS (output));
} }
static void static void
meta_monitor_manager_kms_read_current_state (MetaMonitorManager *manager) meta_monitor_manager_native_read_current_state (MetaMonitorManager *manager)
{ {
MetaMonitorManagerClass *parent_class = MetaMonitorManagerClass *parent_class =
META_MONITOR_MANAGER_CLASS (meta_monitor_manager_kms_parent_class); META_MONITOR_MANAGER_CLASS (meta_monitor_manager_native_parent_class);
MetaPowerSave power_save_mode; MetaPowerSave power_save_mode;
power_save_mode = meta_monitor_manager_get_power_save_mode (manager); power_save_mode = meta_monitor_manager_get_power_save_mode (manager);
@ -129,8 +129,8 @@ meta_power_save_to_dpms_state (MetaPowerSave power_save)
} }
static void static void
meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, meta_monitor_manager_native_set_power_save_mode (MetaMonitorManager *manager,
MetaPowerSave mode) MetaPowerSave mode)
{ {
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend); MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend);
@ -174,7 +174,7 @@ meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager,
} }
static void static void
meta_monitor_manager_kms_ensure_initial_config (MetaMonitorManager *manager) meta_monitor_manager_native_ensure_initial_config (MetaMonitorManager *manager)
{ {
MetaMonitorsConfig *config; MetaMonitorsConfig *config;
@ -286,10 +286,10 @@ update_screen_size (MetaMonitorManager *manager,
} }
static gboolean static gboolean
meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager, meta_monitor_manager_native_apply_monitors_config (MetaMonitorManager *manager,
MetaMonitorsConfig *config, MetaMonitorsConfig *config,
MetaMonitorsConfigMethod method, MetaMonitorsConfigMethod method,
GError **error) GError **error)
{ {
GPtrArray *crtc_assignments; GPtrArray *crtc_assignments;
GPtrArray *output_assignments; GPtrArray *output_assignments;
@ -339,12 +339,12 @@ meta_monitor_manager_kms_apply_monitors_config (MetaMonitorManager *manager
} }
static void static void
meta_monitor_manager_kms_get_crtc_gamma (MetaMonitorManager *manager, meta_monitor_manager_native_get_crtc_gamma (MetaMonitorManager *manager,
MetaCrtc *crtc, MetaCrtc *crtc,
gsize *size, gsize *size,
unsigned short **red, unsigned short **red,
unsigned short **green, unsigned short **green,
unsigned short **blue) unsigned short **blue)
{ {
MetaKmsCrtc *kms_crtc; MetaKmsCrtc *kms_crtc;
const MetaKmsCrtcState *crtc_state; const MetaKmsCrtcState *crtc_state;
@ -422,32 +422,33 @@ generate_gamma_ramp_string (size_t size,
} }
MetaKmsCrtcGamma * MetaKmsCrtcGamma *
meta_monitor_manager_kms_get_cached_crtc_gamma (MetaMonitorManagerKms *manager_kms, meta_monitor_manager_native_get_cached_crtc_gamma (MetaMonitorManagerNative *manager_native,
MetaCrtcKms *crtc_kms) MetaCrtcKms *crtc_kms)
{ {
uint64_t crtc_id; uint64_t crtc_id;
crtc_id = meta_crtc_get_id (META_CRTC (crtc_kms)); crtc_id = meta_crtc_get_id (META_CRTC (crtc_kms));
return g_hash_table_lookup (manager_kms->crtc_gamma_cache, return g_hash_table_lookup (manager_native->crtc_gamma_cache,
GUINT_TO_POINTER (crtc_id)); GUINT_TO_POINTER (crtc_id));
} }
static void static void
meta_monitor_manager_kms_set_crtc_gamma (MetaMonitorManager *manager, meta_monitor_manager_native_set_crtc_gamma (MetaMonitorManager *manager,
MetaCrtc *crtc, MetaCrtc *crtc,
gsize size, gsize size,
unsigned short *red, unsigned short *red,
unsigned short *green, unsigned short *green,
unsigned short *blue) unsigned short *blue)
{ {
MetaMonitorManagerKms *manager_kms = META_MONITOR_MANAGER_KMS (manager); MetaMonitorManagerNative *manager_native =
META_MONITOR_MANAGER_NATIVE (manager);
MetaCrtcKms *crtc_kms = META_CRTC_KMS (crtc); MetaCrtcKms *crtc_kms = META_CRTC_KMS (crtc);
MetaKmsCrtc *kms_crtc = meta_crtc_kms_get_kms_crtc (META_CRTC_KMS (crtc)); MetaKmsCrtc *kms_crtc = meta_crtc_kms_get_kms_crtc (META_CRTC_KMS (crtc));
g_autofree char *gamma_ramp_string = NULL; g_autofree char *gamma_ramp_string = NULL;
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend)); ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
g_hash_table_replace (manager_kms->crtc_gamma_cache, g_hash_table_replace (manager_native->crtc_gamma_cache,
GUINT_TO_POINTER (meta_crtc_get_id (crtc)), GUINT_TO_POINTER (meta_crtc_get_id (crtc)),
meta_kms_crtc_gamma_new (kms_crtc, size, meta_kms_crtc_gamma_new (kms_crtc, size,
red, green, blue)); red, green, blue));
@ -474,63 +475,63 @@ on_kms_resources_changed (MetaKms *kms,
} }
static void static void
meta_monitor_manager_kms_connect_hotplug_handler (MetaMonitorManagerKms *manager_kms) meta_monitor_manager_native_connect_hotplug_handler (MetaMonitorManagerNative *manager_native)
{ {
MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_kms); MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_native);
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend); MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend);
MetaKms *kms = meta_backend_native_get_kms (backend_native); MetaKms *kms = meta_backend_native_get_kms (backend_native);
manager_kms->kms_resources_changed_handler_id = manager_native->kms_resources_changed_handler_id =
g_signal_connect (kms, "resources-changed", g_signal_connect (kms, "resources-changed",
G_CALLBACK (on_kms_resources_changed), manager); G_CALLBACK (on_kms_resources_changed), manager);
} }
static void static void
meta_monitor_manager_kms_disconnect_hotplug_handler (MetaMonitorManagerKms *manager_kms) meta_monitor_manager_native_disconnect_hotplug_handler (MetaMonitorManagerNative *manager_native)
{ {
MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_kms); MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_native);
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend); MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend);
MetaKms *kms = meta_backend_native_get_kms (backend_native); MetaKms *kms = meta_backend_native_get_kms (backend_native);
g_clear_signal_handler (&manager_kms->kms_resources_changed_handler_id, kms); g_clear_signal_handler (&manager_native->kms_resources_changed_handler_id, kms);
} }
void void
meta_monitor_manager_kms_pause (MetaMonitorManagerKms *manager_kms) meta_monitor_manager_native_pause (MetaMonitorManagerNative *manager_native)
{ {
meta_monitor_manager_kms_disconnect_hotplug_handler (manager_kms); meta_monitor_manager_native_disconnect_hotplug_handler (manager_native);
} }
void void
meta_monitor_manager_kms_resume (MetaMonitorManagerKms *manager_kms) meta_monitor_manager_native_resume (MetaMonitorManagerNative *manager_native)
{ {
meta_monitor_manager_kms_connect_hotplug_handler (manager_kms); meta_monitor_manager_native_connect_hotplug_handler (manager_native);
} }
static gboolean static gboolean
meta_monitor_manager_kms_is_transform_handled (MetaMonitorManager *manager, meta_monitor_manager_native_is_transform_handled (MetaMonitorManager *manager,
MetaCrtc *crtc, MetaCrtc *crtc,
MetaMonitorTransform transform) MetaMonitorTransform transform)
{ {
return meta_crtc_kms_is_transform_handled (META_CRTC_KMS (crtc), transform); return meta_crtc_kms_is_transform_handled (META_CRTC_KMS (crtc), transform);
} }
static float static float
meta_monitor_manager_kms_calculate_monitor_mode_scale (MetaMonitorManager *manager, meta_monitor_manager_native_calculate_monitor_mode_scale (MetaMonitorManager *manager,
MetaMonitor *monitor, MetaMonitor *monitor,
MetaMonitorMode *monitor_mode) MetaMonitorMode *monitor_mode)
{ {
return meta_monitor_calculate_mode_scale (monitor, monitor_mode); return meta_monitor_calculate_mode_scale (monitor, monitor_mode);
} }
static float * static float *
meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager *manager, meta_monitor_manager_native_calculate_supported_scales (MetaMonitorManager *manager,
MetaLogicalMonitorLayoutMode layout_mode, MetaLogicalMonitorLayoutMode layout_mode,
MetaMonitor *monitor, MetaMonitor *monitor,
MetaMonitorMode *monitor_mode, MetaMonitorMode *monitor_mode,
int *n_supported_scales) int *n_supported_scales)
{ {
MetaMonitorScalesConstraint constraints = MetaMonitorScalesConstraint constraints =
META_MONITOR_SCALES_CONSTRAINT_NONE; META_MONITOR_SCALES_CONSTRAINT_NONE;
@ -550,7 +551,7 @@ meta_monitor_manager_kms_calculate_supported_scales (MetaMonitorManager
} }
static MetaMonitorManagerCapability static MetaMonitorManagerCapability
meta_monitor_manager_kms_get_capabilities (MetaMonitorManager *manager) meta_monitor_manager_native_get_capabilities (MetaMonitorManager *manager)
{ {
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
MetaSettings *settings = meta_backend_get_settings (backend); MetaSettings *settings = meta_backend_get_settings (backend);
@ -566,15 +567,15 @@ meta_monitor_manager_kms_get_capabilities (MetaMonitorManager *manager)
} }
static gboolean static gboolean
meta_monitor_manager_kms_get_max_screen_size (MetaMonitorManager *manager, meta_monitor_manager_native_get_max_screen_size (MetaMonitorManager *manager,
int *max_width, int *max_width,
int *max_height) int *max_height)
{ {
return FALSE; return FALSE;
} }
static MetaLogicalMonitorLayoutMode static MetaLogicalMonitorLayoutMode
meta_monitor_manager_kms_get_default_layout_mode (MetaMonitorManager *manager) meta_monitor_manager_native_get_default_layout_mode (MetaMonitorManager *manager)
{ {
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
MetaSettings *settings = meta_backend_get_settings (backend); MetaSettings *settings = meta_backend_get_settings (backend);
@ -588,28 +589,30 @@ meta_monitor_manager_kms_get_default_layout_mode (MetaMonitorManager *manager)
} }
static void static void
meta_monitor_manager_kms_dispose (GObject *object) meta_monitor_manager_native_dispose (GObject *object)
{ {
MetaMonitorManagerKms *manager_kms = META_MONITOR_MANAGER_KMS (object); MetaMonitorManagerNative *manager_native =
META_MONITOR_MANAGER_NATIVE (object);
g_clear_pointer (&manager_kms->crtc_gamma_cache, g_clear_pointer (&manager_native->crtc_gamma_cache,
g_hash_table_unref); g_hash_table_unref);
G_OBJECT_CLASS (meta_monitor_manager_kms_parent_class)->dispose (object); G_OBJECT_CLASS (meta_monitor_manager_native_parent_class)->dispose (object);
} }
static gboolean static gboolean
meta_monitor_manager_kms_initable_init (GInitable *initable, meta_monitor_manager_native_initable_init (GInitable *initable,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
MetaMonitorManagerKms *manager_kms = META_MONITOR_MANAGER_KMS (initable); MetaMonitorManagerNative *manager_native =
MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_kms); META_MONITOR_MANAGER_NATIVE (initable);
MetaMonitorManager *manager = META_MONITOR_MANAGER (manager_native);
MetaBackend *backend = meta_monitor_manager_get_backend (manager); MetaBackend *backend = meta_monitor_manager_get_backend (manager);
gboolean can_have_outputs; gboolean can_have_outputs;
GList *l; GList *l;
meta_monitor_manager_kms_connect_hotplug_handler (manager_kms); meta_monitor_manager_native_connect_hotplug_handler (manager_native);
can_have_outputs = FALSE; can_have_outputs = FALSE;
for (l = meta_backend_get_gpus (backend); l; l = l->next) for (l = meta_backend_get_gpus (backend); l; l = l->next)
@ -629,7 +632,7 @@ meta_monitor_manager_kms_initable_init (GInitable *initable,
return FALSE; return FALSE;
} }
manager_kms->crtc_gamma_cache = manager_native->crtc_gamma_cache =
g_hash_table_new_full (NULL, NULL, g_hash_table_new_full (NULL, NULL,
NULL, NULL,
(GDestroyNotify) meta_kms_crtc_gamma_free); (GDestroyNotify) meta_kms_crtc_gamma_free);
@ -640,33 +643,46 @@ meta_monitor_manager_kms_initable_init (GInitable *initable,
static void static void
initable_iface_init (GInitableIface *initable_iface) initable_iface_init (GInitableIface *initable_iface)
{ {
initable_iface->init = meta_monitor_manager_kms_initable_init; initable_iface->init = meta_monitor_manager_native_initable_init;
} }
static void static void
meta_monitor_manager_kms_init (MetaMonitorManagerKms *manager_kms) meta_monitor_manager_native_init (MetaMonitorManagerNative *manager_native)
{ {
} }
static void static void
meta_monitor_manager_kms_class_init (MetaMonitorManagerKmsClass *klass) meta_monitor_manager_native_class_init (MetaMonitorManagerNativeClass *klass)
{ {
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
MetaMonitorManagerClass *manager_class = META_MONITOR_MANAGER_CLASS (klass); MetaMonitorManagerClass *manager_class = META_MONITOR_MANAGER_CLASS (klass);
object_class->dispose = meta_monitor_manager_kms_dispose; object_class->dispose = meta_monitor_manager_native_dispose;
manager_class->read_edid = meta_monitor_manager_kms_read_edid; manager_class->read_edid =
manager_class->read_current_state = meta_monitor_manager_kms_read_current_state; meta_monitor_manager_native_read_edid;
manager_class->ensure_initial_config = meta_monitor_manager_kms_ensure_initial_config; manager_class->read_current_state =
manager_class->apply_monitors_config = meta_monitor_manager_kms_apply_monitors_config; meta_monitor_manager_native_read_current_state;
manager_class->set_power_save_mode = meta_monitor_manager_kms_set_power_save_mode; manager_class->ensure_initial_config =
manager_class->get_crtc_gamma = meta_monitor_manager_kms_get_crtc_gamma; meta_monitor_manager_native_ensure_initial_config;
manager_class->set_crtc_gamma = meta_monitor_manager_kms_set_crtc_gamma; manager_class->apply_monitors_config =
manager_class->is_transform_handled = meta_monitor_manager_kms_is_transform_handled; meta_monitor_manager_native_apply_monitors_config;
manager_class->calculate_monitor_mode_scale = meta_monitor_manager_kms_calculate_monitor_mode_scale; manager_class->set_power_save_mode =
manager_class->calculate_supported_scales = meta_monitor_manager_kms_calculate_supported_scales; meta_monitor_manager_native_set_power_save_mode;
manager_class->get_capabilities = meta_monitor_manager_kms_get_capabilities; manager_class->get_crtc_gamma =
manager_class->get_max_screen_size = meta_monitor_manager_kms_get_max_screen_size; meta_monitor_manager_native_get_crtc_gamma;
manager_class->get_default_layout_mode = meta_monitor_manager_kms_get_default_layout_mode; manager_class->set_crtc_gamma =
meta_monitor_manager_native_set_crtc_gamma;
manager_class->is_transform_handled =
meta_monitor_manager_native_is_transform_handled;
manager_class->calculate_monitor_mode_scale =
meta_monitor_manager_native_calculate_monitor_mode_scale;
manager_class->calculate_supported_scales =
meta_monitor_manager_native_calculate_supported_scales;
manager_class->get_capabilities =
meta_monitor_manager_native_get_capabilities;
manager_class->get_max_screen_size =
meta_monitor_manager_native_get_max_screen_size;
manager_class->get_default_layout_mode =
meta_monitor_manager_native_get_default_layout_mode;
} }

View File

@ -20,8 +20,8 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>. * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef META_MONITOR_MANAGER_KMS_H #ifndef META_MONITOR_MANAGER_NATIVE_H
#define META_MONITOR_MANAGER_KMS_H #define META_MONITOR_MANAGER_NATIVE_H
#include <xf86drm.h> #include <xf86drm.h>
#include <xf86drmMode.h> #include <xf86drmMode.h>
@ -32,18 +32,18 @@
typedef struct _MetaGpuKms MetaGpuKms; typedef struct _MetaGpuKms MetaGpuKms;
#define META_TYPE_MONITOR_MANAGER_KMS (meta_monitor_manager_kms_get_type ()) #define META_TYPE_MONITOR_MANAGER_NATIVE (meta_monitor_manager_native_get_type ())
G_DECLARE_FINAL_TYPE (MetaMonitorManagerKms, meta_monitor_manager_kms, G_DECLARE_FINAL_TYPE (MetaMonitorManagerNative, meta_monitor_manager_native,
META, MONITOR_MANAGER_KMS, META, MONITOR_MANAGER_NATIVE,
MetaMonitorManager) MetaMonitorManager)
void meta_monitor_manager_kms_pause (MetaMonitorManagerKms *manager_kms); void meta_monitor_manager_native_pause (MetaMonitorManagerNative *manager_native);
void meta_monitor_manager_kms_resume (MetaMonitorManagerKms *manager_kms); void meta_monitor_manager_native_resume (MetaMonitorManagerNative *manager_native);
uint64_t meta_power_save_to_dpms_state (MetaPowerSave power_save); uint64_t meta_power_save_to_dpms_state (MetaPowerSave power_save);
MetaKmsCrtcGamma * meta_monitor_manager_kms_get_cached_crtc_gamma (MetaMonitorManagerKms *manager_kms, MetaKmsCrtcGamma * meta_monitor_manager_native_get_cached_crtc_gamma (MetaMonitorManagerNative *manager_native,
MetaCrtcKms *crtc_kms); MetaCrtcKms *crtc_kms);
#endif /* META_MONITOR_MANAGER_KMS_H */ #endif /* META_MONITOR_MANAGER_NATIVE_H */

View File

@ -31,7 +31,7 @@
#include "backends/meta-renderer.h" #include "backends/meta-renderer.h"
#include "backends/native/meta-gpu-kms.h" #include "backends/native/meta-gpu-kms.h"
#include "backends/native/meta-monitor-manager-kms.h" #include "backends/native/meta-monitor-manager-native.h"
#define META_TYPE_RENDERER_NATIVE (meta_renderer_native_get_type ()) #define META_TYPE_RENDERER_NATIVE (meta_renderer_native_get_type ())
G_DECLARE_FINAL_TYPE (MetaRendererNative, meta_renderer_native, G_DECLARE_FINAL_TYPE (MetaRendererNative, meta_renderer_native,

View File

@ -670,8 +670,8 @@ if have_native_backend
'backends/native/meta-keymap-native.h', 'backends/native/meta-keymap-native.h',
'backends/native/meta-launcher.c', 'backends/native/meta-launcher.c',
'backends/native/meta-launcher.h', 'backends/native/meta-launcher.h',
'backends/native/meta-monitor-manager-kms.c', 'backends/native/meta-monitor-manager-native.c',
'backends/native/meta-monitor-manager-kms.h', 'backends/native/meta-monitor-manager-native.h',
'backends/native/meta-output-kms.c', 'backends/native/meta-output-kms.c',
'backends/native/meta-output-kms.h', 'backends/native/meta-output-kms.h',
'backends/native/meta-kms-connector-private.h', 'backends/native/meta-kms-connector-private.h',