monitor-manager: Remove 'mirror' capability

With per-CRTC views, there is nothing stopping NVIDA EGLStream based
rendering to not support monitor mirroring, so lets remove that
restriction.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1098
This commit is contained in:
Jonas Ådahl 2020-02-28 11:09:46 +01:00 committed by Robert Mader
parent c9a5b2b22f
commit 0a6034ef3a
8 changed files with 3 additions and 50 deletions

View File

@ -714,8 +714,6 @@ meta_monitor_manager_dummy_get_capabilities (MetaMonitorManager *manager)
MetaMonitorManagerCapability capabilities = MetaMonitorManagerCapability capabilities =
META_MONITOR_MANAGER_CAPABILITY_NONE; META_MONITOR_MANAGER_CAPABILITY_NONE;
capabilities |= META_MONITOR_MANAGER_CAPABILITY_MIRRORING;
if (meta_settings_is_experimental_feature_enabled ( if (meta_settings_is_experimental_feature_enabled (
settings, settings,
META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER)) META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER))

View File

@ -43,9 +43,8 @@
typedef enum _MetaMonitorManagerCapability typedef enum _MetaMonitorManagerCapability
{ {
META_MONITOR_MANAGER_CAPABILITY_NONE = 0, META_MONITOR_MANAGER_CAPABILITY_NONE = 0,
META_MONITOR_MANAGER_CAPABILITY_MIRRORING = (1 << 0), META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE = (1 << 0),
META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE = (1 << 1), META_MONITOR_MANAGER_CAPABILITY_GLOBAL_SCALE_REQUIRED = (1 << 1)
META_MONITOR_MANAGER_CAPABILITY_GLOBAL_SCALE_REQUIRED = (1 << 2)
} MetaMonitorManagerCapability; } MetaMonitorManagerCapability;
/* Equivalent to the 'method' enum in org.gnome.Mutter.DisplayConfig */ /* Equivalent to the 'method' enum in org.gnome.Mutter.DisplayConfig */

View File

@ -1446,12 +1446,6 @@ meta_monitor_manager_handle_get_current_state (MetaDBusDisplayConfig *skeleton,
g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}")); g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}"));
capabilities = meta_monitor_manager_get_capabilities (manager); capabilities = meta_monitor_manager_get_capabilities (manager);
if ((capabilities & META_MONITOR_MANAGER_CAPABILITY_MIRRORING) == 0)
{
g_variant_builder_add (&properties_builder, "{sv}",
"supports-mirroring",
g_variant_new_boolean (FALSE));
}
g_variant_builder_add (&properties_builder, "{sv}", g_variant_builder_add (&properties_builder, "{sv}",
"layout-mode", "layout-mode",

View File

@ -547,8 +547,6 @@ meta_monitor_manager_kms_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);
MetaRenderer *renderer = meta_backend_get_renderer (backend);
MetaRendererNative *renderer_native = META_RENDERER_NATIVE (renderer);
MetaMonitorManagerCapability capabilities = MetaMonitorManagerCapability capabilities =
META_MONITOR_MANAGER_CAPABILITY_NONE; META_MONITOR_MANAGER_CAPABILITY_NONE;
@ -557,9 +555,6 @@ meta_monitor_manager_kms_get_capabilities (MetaMonitorManager *manager)
META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER)) META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER))
capabilities |= META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE; capabilities |= META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE;
if (meta_renderer_native_supports_mirroring (renderer_native))
capabilities |= META_MONITOR_MANAGER_CAPABILITY_MIRRORING;
return capabilities; return capabilities;
} }

View File

@ -2793,34 +2793,6 @@ _cogl_winsys_egl_vtable = {
.context_init = meta_renderer_native_init_egl_context .context_init = meta_renderer_native_init_egl_context
}; };
gboolean
meta_renderer_native_supports_mirroring (MetaRendererNative *renderer_native)
{
MetaRenderer *renderer = META_RENDERER (renderer_native);
MetaBackend *backend = meta_renderer_get_backend (renderer);
GList *l;
for (l = meta_backend_get_gpus (backend); l; l = l->next)
{
MetaGpuKms *gpu_kms = META_GPU_KMS (l->data);
MetaRendererNativeGpuData *renderer_gpu_data;
renderer_gpu_data = meta_renderer_native_get_gpu_data (renderer_native,
gpu_kms);
switch (renderer_gpu_data->mode)
{
case META_RENDERER_NATIVE_MODE_GBM:
break;
#ifdef HAVE_EGL_DEVICE
case META_RENDERER_NATIVE_MODE_EGL_DEVICE:
return FALSE;
#endif
}
}
return TRUE;
}
static void static void
meta_renderer_native_queue_modes_reset (MetaRendererNative *renderer_native) meta_renderer_native_queue_modes_reset (MetaRendererNative *renderer_native)
{ {

View File

@ -51,8 +51,6 @@ MetaRendererNative * meta_renderer_native_new (MetaBackendNative *backend_nativ
struct gbm_device * meta_gbm_device_from_gpu (MetaGpuKms *gpu_kms); struct gbm_device * meta_gbm_device_from_gpu (MetaGpuKms *gpu_kms);
gboolean meta_renderer_native_supports_mirroring (MetaRendererNative *renderer_native);
void meta_renderer_native_finish_frame (MetaRendererNative *renderer_native); void meta_renderer_native_finish_frame (MetaRendererNative *renderer_native);
int64_t meta_renderer_native_get_frame_counter (MetaRendererNative *renderer_native); int64_t meta_renderer_native_get_frame_counter (MetaRendererNative *renderer_native);

View File

@ -959,8 +959,7 @@ meta_monitor_manager_xrandr_calculate_supported_scales (MetaMonitorManager
static MetaMonitorManagerCapability static MetaMonitorManagerCapability
meta_monitor_manager_xrandr_get_capabilities (MetaMonitorManager *manager) meta_monitor_manager_xrandr_get_capabilities (MetaMonitorManager *manager)
{ {
return (META_MONITOR_MANAGER_CAPABILITY_MIRRORING | return META_MONITOR_MANAGER_CAPABILITY_GLOBAL_SCALE_REQUIRED;
META_MONITOR_MANAGER_CAPABILITY_GLOBAL_SCALE_REQUIRED);
} }
static gboolean static gboolean

View File

@ -371,8 +371,6 @@ meta_monitor_manager_test_get_capabilities (MetaMonitorManager *manager)
MetaMonitorManagerCapability capabilities = MetaMonitorManagerCapability capabilities =
META_MONITOR_MANAGER_CAPABILITY_NONE; META_MONITOR_MANAGER_CAPABILITY_NONE;
capabilities |= META_MONITOR_MANAGER_CAPABILITY_MIRRORING;
if (is_monitor_framebuffer_scaled ()) if (is_monitor_framebuffer_scaled ())
capabilities |= META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE; capabilities |= META_MONITOR_MANAGER_CAPABILITY_LAYOUT_MODE;