diff --git a/data/dbus-interfaces/org.gnome.Mutter.DebugControl.xml b/data/dbus-interfaces/org.gnome.Mutter.DebugControl.xml index d7420cdff..5bb1134bf 100644 --- a/data/dbus-interfaces/org.gnome.Mutter.DebugControl.xml +++ b/data/dbus-interfaces/org.gnome.Mutter.DebugControl.xml @@ -7,6 +7,7 @@ + diff --git a/src/core/meta-debug-control-private.h b/src/core/meta-debug-control-private.h index 052b69fd4..2e8d55338 100644 --- a/src/core/meta-debug-control-private.h +++ b/src/core/meta-debug-control-private.h @@ -26,6 +26,8 @@ gboolean meta_debug_control_is_linear_blending_forced (MetaDebugControl *debug_c gboolean meta_debug_control_is_hdr_enabled (MetaDebugControl *debug_control); +gboolean meta_debug_control_is_hdr_forced (MetaDebugControl *debug_control); + unsigned int meta_debug_control_get_luminance_percentage (MetaDebugControl *debug_control); gboolean meta_debug_control_is_session_management_protocol_enabled (MetaDebugControl *debug_control); diff --git a/src/core/meta-debug-control.c b/src/core/meta-debug-control.c index abf2d179d..b8ee48d61 100644 --- a/src/core/meta-debug-control.c +++ b/src/core/meta-debug-control.c @@ -168,7 +168,8 @@ meta_debug_control_init (MetaDebugControl *debug_control) { MetaDBusDebugControl *dbus_debug_control = META_DBUS_DEBUG_CONTROL (debug_control); - gboolean enable_hdr, force_linear_blending, color_management_protocol; + gboolean enable_hdr, force_hdr, force_linear_blending, + color_management_protocol; gboolean session_management_protocol; color_management_protocol = @@ -179,6 +180,9 @@ meta_debug_control_init (MetaDebugControl *debug_control) enable_hdr = g_strcmp0 (getenv ("MUTTER_DEBUG_ENABLE_HDR"), "1") == 0; meta_dbus_debug_control_set_enable_hdr (dbus_debug_control, enable_hdr); + force_hdr = g_strcmp0 (getenv ("MUTTER_DEBUG_FORCE_HDR"), "1") == 0; + meta_dbus_debug_control_set_force_hdr (dbus_debug_control, force_hdr); + force_linear_blending = g_strcmp0 (getenv ("MUTTER_DEBUG_FORCE_LINEAR_BLENDING"), "1") == 0; meta_dbus_debug_control_set_force_linear_blending (dbus_debug_control, @@ -216,7 +220,17 @@ meta_debug_control_is_hdr_enabled (MetaDebugControl *debug_control) MetaDBusDebugControl *dbus_debug_control = META_DBUS_DEBUG_CONTROL (debug_control); - return meta_dbus_debug_control_get_enable_hdr (dbus_debug_control); + return meta_dbus_debug_control_get_enable_hdr (dbus_debug_control) || + meta_debug_control_is_hdr_forced (debug_control); +} + +gboolean +meta_debug_control_is_hdr_forced (MetaDebugControl *debug_control) +{ + MetaDBusDebugControl *dbus_debug_control = + META_DBUS_DEBUG_CONTROL (debug_control); + + return meta_dbus_debug_control_get_force_hdr (dbus_debug_control); } unsigned int