diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index 81ba12b57..bf34d3213 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -2700,6 +2700,10 @@ needs_flatten_effect (ClutterActor *self) { ClutterActorPrivate *priv = self->priv; + if (G_UNLIKELY (clutter_paint_debug_flags & + CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT)) + return FALSE; + switch (priv->offscreen_redirect) { case CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: diff --git a/clutter/clutter-debug.h b/clutter/clutter-debug.h index f3ee80515..9ee1e4447 100644 --- a/clutter/clutter-debug.h +++ b/clutter/clutter-debug.h @@ -39,7 +39,8 @@ typedef enum { CLUTTER_DEBUG_DISABLE_CLIPPED_REDRAWS = 1 << 1, CLUTTER_DEBUG_REDRAWS = 1 << 2, CLUTTER_DEBUG_PAINT_VOLUMES = 1 << 3, - CLUTTER_DEBUG_DISABLE_CULLING = 1 << 4 + CLUTTER_DEBUG_DISABLE_CULLING = 1 << 4, + CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT = 1 << 5 } ClutterDrawDebugFlag; #ifdef CLUTTER_ENABLE_DEBUG diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index b7a63f472..934ca26d2 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -180,7 +180,8 @@ static const GDebugKey clutter_paint_debug_keys[] = { { "disable-clipped-redraws", CLUTTER_DEBUG_DISABLE_CLIPPED_REDRAWS }, { "redraws", CLUTTER_DEBUG_REDRAWS }, { "paint-volumes", CLUTTER_DEBUG_PAINT_VOLUMES }, - { "disable-culling", CLUTTER_DEBUG_DISABLE_CULLING } + { "disable-culling", CLUTTER_DEBUG_DISABLE_CULLING }, + { "disable-offscreen-redirect", CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT } }; #ifdef CLUTTER_ENABLE_PROFILE