Revert "Provide oldLayer where possible (#67320)"

This reverts commit 24abe59f389cfd4661976409e931cd413871bc53.
diff --git a/packages/flutter/lib/src/cupertino/switch.dart b/packages/flutter/lib/src/cupertino/switch.dart
index b847654..6c48ae2 100644
--- a/packages/flutter/lib/src/cupertino/switch.dart
+++ b/packages/flutter/lib/src/cupertino/switch.dart
@@ -524,13 +524,11 @@
       thumbCenterY + CupertinoThumbPainter.radius,
     );
 
-    _clipRRectLayer = context.pushClipRRect(needsCompositing, Offset.zero, thumbBounds, trackRRect, (PaintingContext innerContext, Offset offset) {
+    context.pushClipRRect(needsCompositing, Offset.zero, thumbBounds, trackRRect, (PaintingContext innerContext, Offset offset) {
       const CupertinoThumbPainter.switchThumb().paint(innerContext.canvas, thumbBounds);
-    }, oldLayer: _clipRRectLayer);
+    });
   }
 
-  ClipRRectLayer? _clipRRectLayer;
-
   @override
   void debugFillProperties(DiagnosticPropertiesBuilder description) {
     super.debugFillProperties(description);
diff --git a/packages/flutter/lib/src/cupertino/text_selection.dart b/packages/flutter/lib/src/cupertino/text_selection.dart
index 8e93c90..706ec21 100644
--- a/packages/flutter/lib/src/cupertino/text_selection.dart
+++ b/packages/flutter/lib/src/cupertino/text_selection.dart
@@ -371,17 +371,15 @@
     }
 
     final _ToolbarParentData childParentData = child!.parentData! as _ToolbarParentData;
-    _clipPathLayer = context.pushClipPath(
+    context.pushClipPath(
       needsCompositing,
       offset + childParentData.offset,
       Offset.zero & child!.size,
       _clipPath(),
       (PaintingContext innerContext, Offset innerOffset) => innerContext.paintChild(child!, innerOffset),
-      oldLayer: _clipPathLayer
     );
   }
 
-  ClipPathLayer? _clipPathLayer;
   Paint? _debugPaint;
 
   @override
diff --git a/packages/flutter/lib/src/material/input_decorator.dart b/packages/flutter/lib/src/material/input_decorator.dart
index 58865e9..04ce2c8 100644
--- a/packages/flutter/lib/src/material/input_decorator.dart
+++ b/packages/flutter/lib/src/material/input_decorator.dart
@@ -1478,10 +1478,7 @@
       _labelTransform = Matrix4.identity()
         ..translate(dx, labelOffset.dy + dy)
         ..scale(scale);
-      _transformLayer = context.pushTransform(needsCompositing, offset, _labelTransform!, _paintLabel,
-          oldLayer: _transformLayer);
-    } else {
-      _transformLayer = null;
+      context.pushTransform(needsCompositing, offset, _labelTransform!, _paintLabel);
     }
 
     doPaint(icon);
@@ -1495,8 +1492,6 @@
     doPaint(counter);
   }
 
-  TransformLayer? _transformLayer;
-
   @override
   bool hitTestSelf(Offset position) => true;
 
diff --git a/packages/flutter/lib/src/rendering/animated_size.dart b/packages/flutter/lib/src/rendering/animated_size.dart
index 8aa33d4..4a69949 100644
--- a/packages/flutter/lib/src/rendering/animated_size.dart
+++ b/packages/flutter/lib/src/rendering/animated_size.dart
@@ -7,7 +7,6 @@
 import 'package:flutter/scheduler.dart';
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 import 'shifted_box.dart';
 
@@ -295,13 +294,9 @@
   void paint(PaintingContext context, Offset offset) {
     if (child != null && _hasVisualOverflow && clipBehavior != Clip.none) {
       final Rect rect = Offset.zero & size;
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, rect, super.paint,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, rect, super.paint, clipBehavior: clipBehavior);
     } else {
-      _clipRectLayer = null;
       super.paint(context, offset);
     }
   }
-
-  ClipRectLayer? _clipRectLayer;
 }
diff --git a/packages/flutter/lib/src/rendering/editable.dart b/packages/flutter/lib/src/rendering/editable.dart
index 618da95..62a1e8d 100644
--- a/packages/flutter/lib/src/rendering/editable.dart
+++ b/packages/flutter/lib/src/rendering/editable.dart
@@ -2305,18 +2305,13 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     _layoutText(minWidth: constraints.minWidth, maxWidth: constraints.maxWidth);
-    if (_hasVisualOverflow && clipBehavior != Clip.none) {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
-    } else {
-      _clipRectLayer = null;
+    if (_hasVisualOverflow && clipBehavior != Clip.none)
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents, clipBehavior: clipBehavior);
+    else
       _paintContents(context, offset);
-    }
     _paintHandleLayers(context, getEndpointsForSelection(selection!));
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   Rect? describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Offset.zero & size : null;
 
diff --git a/packages/flutter/lib/src/rendering/flex.dart b/packages/flutter/lib/src/rendering/flex.dart
index aa49869..3f7bc52 100644
--- a/packages/flutter/lib/src/rendering/flex.dart
+++ b/packages/flutter/lib/src/rendering/flex.dart
@@ -8,7 +8,6 @@
 
 import 'box.dart';
 import 'debug_overflow_indicator.dart';
-import 'layer.dart';
 import 'object.dart';
 
 /// How the child is inscribed into the available space.
@@ -981,12 +980,10 @@
       return;
 
     if (clipBehavior == Clip.none) {
-      _clipRectLayer = null;
       defaultPaint(context, offset);
     } else {
       // We have overflow and the clipBehavior isn't none. Clip it.
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint, clipBehavior: clipBehavior);
     }
 
     assert(() {
@@ -1032,8 +1029,6 @@
     }());
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   Rect? describeApproximatePaintClip(RenderObject child) => _hasOverflow ? Offset.zero & size : null;
 
diff --git a/packages/flutter/lib/src/rendering/flow.dart b/packages/flutter/lib/src/rendering/flow.dart
index 8128aac..a694995 100644
--- a/packages/flutter/lib/src/rendering/flow.dart
+++ b/packages/flutter/lib/src/rendering/flow.dart
@@ -8,7 +8,6 @@
 import 'package:vector_math/vector_math_64.dart';
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 
 /// A context in which a [FlowDelegate] paints.
@@ -384,16 +383,12 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (clipBehavior == Clip.none) {
-      _clipRectLayer = null;
       _paintWithDelegate(context, offset);
     } else {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintWithDelegate,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintWithDelegate, clipBehavior: clipBehavior);
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   bool hitTestChildren(BoxHitTestResult result, { required Offset position }) {
     final List<RenderBox> children = getChildrenAsList();
diff --git a/packages/flutter/lib/src/rendering/list_wheel_viewport.dart b/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
index 99d11fe..1264d28 100644
--- a/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
+++ b/packages/flutter/lib/src/rendering/list_wheel_viewport.dart
@@ -8,7 +8,6 @@
 import 'package:vector_math/vector_math_64.dart' show Matrix4;
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 import 'viewport.dart';
 import 'viewport_offset.dart';
@@ -785,23 +784,19 @@
   void paint(PaintingContext context, Offset offset) {
     if (childCount > 0) {
       if (_shouldClipAtCurrentOffset() && clipBehavior != Clip.none) {
-        _clipRectLayer = context.pushClipRect(
+        context.pushClipRect(
           needsCompositing,
           offset,
           Offset.zero & size,
           _paintVisibleChildren,
           clipBehavior: clipBehavior,
-          oldLayer: _clipRectLayer,
         );
       } else {
-        _clipRectLayer = null;
         _paintVisibleChildren(context, offset);
       }
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   /// Paints all children visible in the current viewport.
   void _paintVisibleChildren(PaintingContext context, Offset offset) {
     RenderBox? childToPaint = firstChild;
diff --git a/packages/flutter/lib/src/rendering/platform_view.dart b/packages/flutter/lib/src/rendering/platform_view.dart
index 42f7f12..56524b8 100644
--- a/packages/flutter/lib/src/rendering/platform_view.dart
+++ b/packages/flutter/lib/src/rendering/platform_view.dart
@@ -206,16 +206,13 @@
     // Clip the texture if it's going to paint out of the bounds of the renter box
     // (see comment in _paintTexture for an explanation of when this happens).
     if ((size.width < _currentAndroidViewSize.width || size.height < _currentAndroidViewSize.height) && clipBehavior != Clip.none) {
-      _clipRectLayer = context.pushClipRect(true, offset, offset & size, _paintTexture, clipBehavior: clipBehavior,
-          oldLayer: _clipRectLayer);
+      context.pushClipRect(true, offset, offset & size, _paintTexture, clipBehavior: clipBehavior);
       return;
     }
-    _clipRectLayer = null;
+
     _paintTexture(context, offset);
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   void _paintTexture(PaintingContext context, Offset offset) {
     // As resizing the Android view happens asynchronously we don't know exactly when is a
     // texture frame with the new size is ready for consumption.
diff --git a/packages/flutter/lib/src/rendering/rotated_box.dart b/packages/flutter/lib/src/rendering/rotated_box.dart
index f3835b3..a1bc0ce 100644
--- a/packages/flutter/lib/src/rendering/rotated_box.dart
+++ b/packages/flutter/lib/src/rendering/rotated_box.dart
@@ -9,7 +9,6 @@
 import 'package:vector_math/vector_math_64.dart';
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 
 const double _kQuarterTurnsInRadians = math.pi / 2.0;
@@ -109,16 +108,10 @@
 
   @override
   void paint(PaintingContext context, Offset offset) {
-    if (child != null) {
-      _transformLayer = context.pushTransform(needsCompositing, offset, _paintTransform!, _paintChild,
-          oldLayer: _transformLayer);
-    } else {
-      _transformLayer = null;
-    }
+    if (child != null)
+      context.pushTransform(needsCompositing, offset, _paintTransform!, _paintChild);
   }
 
-  TransformLayer? _transformLayer;
-
   @override
   void applyPaintTransform(RenderBox child, Matrix4 transform) {
     if (_paintTransform != null)
diff --git a/packages/flutter/lib/src/rendering/shifted_box.dart b/packages/flutter/lib/src/rendering/shifted_box.dart
index 482535c..2735b61 100644
--- a/packages/flutter/lib/src/rendering/shifted_box.dart
+++ b/packages/flutter/lib/src/rendering/shifted_box.dart
@@ -9,7 +9,6 @@
 import 'box.dart';
 import 'debug.dart';
 import 'debug_overflow_indicator.dart';
-import 'layer.dart';
 import 'object.dart';
 import 'stack.dart' show RelativeRect;
 
@@ -713,12 +712,10 @@
     }
 
     if (clipBehavior == Clip.none) {
-      _clipRectLayer = null;
       super.paint(context, offset);
     } else {
       // We have overflow and the clipBehavior isn't none. Clip it.
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, super.paint,
-          clipBehavior: clipBehavior, oldLayer:_clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, super.paint, clipBehavior: clipBehavior);
     }
 
     // Display the overflow indicator.
@@ -728,8 +725,6 @@
     }());
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   Rect? describeApproximatePaintClip(RenderObject child) {
     return _isOverflowing ? Offset.zero & size : null;
diff --git a/packages/flutter/lib/src/rendering/stack.dart b/packages/flutter/lib/src/rendering/stack.dart
index 049e3c9..1d05a99 100644
--- a/packages/flutter/lib/src/rendering/stack.dart
+++ b/packages/flutter/lib/src/rendering/stack.dart
@@ -8,7 +8,6 @@
 import 'package:flutter/foundation.dart';
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 
 /// An immutable 2D, axis-aligned, floating-point rectangle whose coordinates
@@ -614,16 +613,12 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (clipBehavior != Clip.none && _hasVisualOverflow) {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintStack,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintStack, clipBehavior: clipBehavior);
     } else {
-      _clipRectLayer = null;
       paintStack(context, offset);
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   Rect? describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Offset.zero & size : null;
 
diff --git a/packages/flutter/lib/src/rendering/viewport.dart b/packages/flutter/lib/src/rendering/viewport.dart
index 37de0a0..e2be143 100644
--- a/packages/flutter/lib/src/rendering/viewport.dart
+++ b/packages/flutter/lib/src/rendering/viewport.dart
@@ -11,7 +11,6 @@
 import 'package:vector_math/vector_math_64.dart';
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 import 'sliver.dart';
 import 'viewport_offset.dart';
@@ -630,16 +629,12 @@
     if (firstChild == null)
       return;
     if (hasVisualOverflow && clipBehavior != Clip.none) {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents, clipBehavior: clipBehavior);
     } else {
-      _clipRectLayer = null;
       _paintContents(context, offset);
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   void _paintContents(PaintingContext context, Offset offset) {
     for (final RenderSliver child in childrenInPaintOrder) {
       if (child.geometry!.visible)
diff --git a/packages/flutter/lib/src/rendering/wrap.dart b/packages/flutter/lib/src/rendering/wrap.dart
index 184018d..1e097b1 100644
--- a/packages/flutter/lib/src/rendering/wrap.dart
+++ b/packages/flutter/lib/src/rendering/wrap.dart
@@ -5,7 +5,6 @@
 import 'dart:math' as math;
 
 import 'box.dart';
-import 'layer.dart';
 import 'object.dart';
 
 /// How [Wrap] should align objects.
@@ -764,17 +763,12 @@
   void paint(PaintingContext context, Offset offset) {
     // TODO(ianh): move the debug flex overflow paint logic somewhere common so
     // it can be reused here
-    if (_hasVisualOverflow && clipBehavior != Clip.none) {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
-    } else {
-      _clipRectLayer = null;
+    if (_hasVisualOverflow && clipBehavior != Clip.none)
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint, clipBehavior: clipBehavior);
+    else
       defaultPaint(context, offset);
-    }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   void debugFillProperties(DiagnosticPropertiesBuilder properties) {
     super.debugFillProperties(properties);
diff --git a/packages/flutter/lib/src/widgets/overlay.dart b/packages/flutter/lib/src/widgets/overlay.dart
index 444f76c..a72d018 100644
--- a/packages/flutter/lib/src/widgets/overlay.dart
+++ b/packages/flutter/lib/src/widgets/overlay.dart
@@ -756,16 +756,12 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (_hasVisualOverflow && clipBehavior != Clip.none) {
-      _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintStack,
-          clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintStack, clipBehavior: clipBehavior);
     } else {
-      _clipRectLayer = null;
       paintStack(context, offset);
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   void visitChildrenForSemantics(RenderObjectVisitor visitor) {
     RenderBox? child = _firstOnstageChild;
diff --git a/packages/flutter/lib/src/widgets/single_child_scroll_view.dart b/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
index b62f3e6..4ffaee0 100644
--- a/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
+++ b/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
@@ -583,17 +583,13 @@
       }
 
       if (_shouldClipAtPaintOffset(paintOffset) && clipBehavior != Clip.none) {
-        _clipRectLayer = context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintContents,
-            clipBehavior: clipBehavior, oldLayer: _clipRectLayer);
+        context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintContents, clipBehavior: clipBehavior);
       } else {
-        _clipRectLayer = null;
         paintContents(context, offset);
       }
     }
   }
 
-  ClipRectLayer? _clipRectLayer;
-
   @override
   void applyPaintTransform(RenderBox child, Matrix4 transform) {
     final Offset paintOffset = _paintOffset;