[Impeller] opt vulkan tests into GPU tracing. (#142649)
We're going to disable GPU tracing by default. Opt our benchmarks back in so that we have continuity.
diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart
index 71462ce..b5ab1f6 100644
--- a/dev/devicelab/lib/tasks/perf_tests.dart
+++ b/dev/devicelab/lib/tasks/perf_tests.dart
@@ -816,15 +816,7 @@
await exec('git', <String>['checkout', file.path]);
}
-/// Opens the file at testDirectory + 'android/app/src/main/AndroidManifest.xml'
-/// and adds the following entry to the application.
-/// <meta-data
-/// android:name="io.flutter.embedding.android.ImpellerBackend"
-/// android:value="opengles" />
-/// <meta-data
-/// android:name="io.flutter.embedding.android.EnableOpenGLGPUTracing"
-/// android:value="true" />
-void _addOpenGLESToManifest(String testDirectory) {
+void _addMetadataToManifest(String testDirectory, List<(String, String)> keyPairs) {
final String manifestPath = path.join(
testDirectory, 'android', 'app', 'src', 'main', 'AndroidManifest.xml');
final File file = File(manifestPath);
@@ -835,11 +827,6 @@
final String xmlStr = file.readAsStringSync();
final XmlDocument xmlDoc = XmlDocument.parse(xmlStr);
- final List<(String, String)> keyPairs = <(String, String)>[
- ('io.flutter.embedding.android.ImpellerBackend', 'opengles'),
- ('io.flutter.embedding.android.EnableOpenGLGPUTracing', 'true')
- ];
-
final XmlElement applicationNode =
xmlDoc.findAllElements('application').first;
@@ -860,7 +847,6 @@
XmlAttribute(XmlName('android:value'), value)
],
);
-
applicationNode.children.add(metaData);
}
}
@@ -868,6 +854,33 @@
file.writeAsStringSync(xmlDoc.toXmlString(pretty: true, indent: ' '));
}
+/// Opens the file at testDirectory + 'android/app/src/main/AndroidManifest.xml'
+/// <meta-data
+/// android:name="io.flutter.embedding.android.EnableVulkanGPUTracing"
+/// android:value="true" />
+void _addVulkanGPUTracingToManifest(String testDirectory) {
+ final List<(String, String)> keyPairs = <(String, String)>[
+ ('io.flutter.embedding.android.EnableVulkanGPUTracing', 'true'),
+ ];
+ _addMetadataToManifest(testDirectory, keyPairs);
+}
+
+/// Opens the file at testDirectory + 'android/app/src/main/AndroidManifest.xml'
+/// and adds the following entry to the application.
+/// <meta-data
+/// android:name="io.flutter.embedding.android.ImpellerBackend"
+/// android:value="opengles" />
+/// <meta-data
+/// android:name="io.flutter.embedding.android.EnableOpenGLGPUTracing"
+/// android:value="true" />
+void _addOpenGLESToManifest(String testDirectory) {
+ final List<(String, String)> keyPairs = <(String, String)>[
+ ('io.flutter.embedding.android.ImpellerBackend', 'opengles'),
+ ('io.flutter.embedding.android.EnableOpenGLGPUTracing', 'true'),
+ ];
+ _addMetadataToManifest(testDirectory, keyPairs);
+}
+
Future<void> _resetManifest(String testDirectory) async {
final String manifestPath = path.join(
testDirectory, 'android', 'app', 'src', 'main', 'AndroidManifest.xml');
@@ -1311,10 +1324,12 @@
}
try {
- if (forceOpenGLES ?? false) {
- assert(enableImpeller!);
+ if (enableImpeller ?? false) {
changedManifest = true;
- _addOpenGLESToManifest(testDirectory);
+ _addVulkanGPUTracingToManifest(testDirectory);
+ if (forceOpenGLES ?? false) {
+ _addOpenGLESToManifest(testDirectory);
+ }
}
if (disablePartialRepaint) {
changedPlist = true;