Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

[Impeller] updated validation layers documentation #44328

Merged
merged 1 commit into from
Aug 3, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 20 additions & 16 deletions impeller/docs/android_validation_layers.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
# Android Vulkan Validation Layers

This is a quick guide to get Vulkan validation layers support for a Flutter application. This guide assumes that you've created the application with `flutter create`, otherwise the locations might vary.
If you want to run Vulkan Validation Layers with a custom engine build you need
to add the `--enable-vulkan-validation-layers` to the `gn` invocation to make
sure the layers are built and injected into the Flutter jar.

1. Download the validation layers from this [GitHub](https://github.com/KhronosGroup/Vulkan-ValidationLayers/releases) releases. Typically named `android-binaries-1.3.231.1.zip`.
2. When you unzip the file, you will see: `arm64-v8a armeabi-v7a x86 x86_64`
3. Copy these directories to `${FLUTTER_APP}/android/app/src/main/vklibs`. The layout should look similar to:
Example:

```
src/main/vklibs/
arm64-v8a/
libVkLayer_khronos_validation.so
armeabi-v7a/
libVkLayer_khronos_validation.so
x86/
libVkLayer_khronos_validation.so
x86-64/
libVkLayer_khronos_validation.so
```sh
flutter/tools/gn \
--runtime-mode=debug \
--enable-impeller-vulkan \
--enable-vulkan-validation-layers \
--no-lto \
--unoptimized \
--android \
--android-cpu=arm64
```

4. Add the following line to `${FLUTTER_APP}/android/app/build.gradle`, `android > sourceSets` section: `main.jniLibs.srcDirs += 'src/main/vklibs'`.
Then adding the following field to the
`android/app/src/main/AndroidManifest.xml` will turn them on:

5. This should enable Vulkan validation layers on your Android application.
```xml
<meta-data
android:name="io.flutter.embedding.android.EnableVulkanValidation"
android:value="true" />
```