diff --git a/bin/internal/engine.version b/bin/internal/engine.version index 08f2fe7ca6a..9611d26a754 100644 --- a/bin/internal/engine.version +++ b/bin/internal/engine.version @@ -1 +1 @@ -31d03de019794a4b0e3c98c04cf7be501fb962fb +57a1445a45964d386500c39f5e8d06db060abadb diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index a70a55318f3..8a688b2a9a4 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart @@ -404,6 +404,8 @@ class AndroidDevice extends Device { cmd.addAll(['--es', 'route', route]); if (debuggingOptions.enableSoftwareRendering) cmd.addAll(['--ez', 'enable-software-rendering', 'true']); + if (debuggingOptions.traceSkia) + cmd.addAll(['--ez', 'trace-skia', 'true']); if (debuggingOptions.debuggingEnabled) { if (debuggingOptions.buildInfo.isDebug) cmd.addAll(['--ez', 'enable-checked-mode', 'true']); diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 22291859b06..17651d5f5a6 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart @@ -96,6 +96,11 @@ class RunCommand extends RunCommandBase { 'when testing Flutter on emulators. By default, Flutter will\n' 'attempt to either use OpenGL or Vulkan and fall back to software\n' 'when neither is available.'); + argParser.addFlag('trace-skia', + defaultsTo: false, + negatable: false, + help: 'Enable tracing of Skia code. This is useful when debugging\n' + 'the GPU thread. By default, Flutter will not log skia code.'); argParser.addFlag('use-test-fonts', negatable: true, defaultsTo: false, @@ -237,6 +242,7 @@ class RunCommand extends RunCommandBase { startPaused: argResults['start-paused'], useTestFonts: argResults['use-test-fonts'], enableSoftwareRendering: argResults['enable-software-rendering'], + traceSkia: argResults['trace-skia'], observatoryPort: observatoryPort, diagnosticPort: diagnosticPort, ); diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart index 9bc0634edb5..57b47044444 100644 --- a/packages/flutter_tools/lib/src/device.dart +++ b/packages/flutter_tools/lib/src/device.dart @@ -317,6 +317,7 @@ class DebuggingOptions { DebuggingOptions.enabled(this.buildInfo, { this.startPaused: false, this.enableSoftwareRendering: false, + this.traceSkia: false, this.useTestFonts: false, this.observatoryPort, this.diagnosticPort @@ -327,6 +328,7 @@ class DebuggingOptions { useTestFonts = false, startPaused = false, enableSoftwareRendering = false, + traceSkia = false, observatoryPort = null, diagnosticPort = null; @@ -335,6 +337,7 @@ class DebuggingOptions { final BuildInfo buildInfo; final bool startPaused; final bool enableSoftwareRendering; + final bool traceSkia; final bool useTestFonts; final int observatoryPort; final int diagnosticPort; diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index 6071b1e240a..693dc9c4e36 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart @@ -214,6 +214,9 @@ class IOSDevice extends Device { if (debuggingOptions.enableSoftwareRendering) launchArguments.add('--enable-software-rendering'); + if (debuggingOptions.traceSkia) + launchArguments.add('--trace-skia'); + if (platformArgs['trace-startup'] ?? false) launchArguments.add('--trace-startup');