From 6e6ef029da00d8a68fb23c93022b8ca7ea2d88ca Mon Sep 17 00:00:00 2001 From: Kaushik Iska Date: Tue, 1 Nov 2022 12:48:42 -0400 Subject: [PATCH] [Impeller] Add docs to enable Vulkan validation layers on Android (flutter/engine#37200) --- engine/src/flutter/impeller/README.md | 1 + .../docs/android_validation_layers.md | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 engine/src/flutter/impeller/docs/android_validation_layers.md diff --git a/engine/src/flutter/impeller/README.md b/engine/src/flutter/impeller/README.md index 309042cbab9..386511ae7ab 100644 --- a/engine/src/flutter/impeller/README.md +++ b/engine/src/flutter/impeller/README.md @@ -188,3 +188,4 @@ To your `AndroidManifest.xml` file, add under the `` tag: * [How Impeller Works Around The Lack of Uniform Buffers in Open GL ES 2.0.](docs/ubo_gles2.md) * [Guidance for writing efficient shaders](docs/shader_optimization.md) * [How color blending works in Impeller](docs/blending.md) +* [Enabling Vulkan Validation Layers on Android](docs/android_validation_layers.md) diff --git a/engine/src/flutter/impeller/docs/android_validation_layers.md b/engine/src/flutter/impeller/docs/android_validation_layers.md new file mode 100644 index 00000000000..df0125c4224 --- /dev/null +++ b/engine/src/flutter/impeller/docs/android_validation_layers.md @@ -0,0 +1,23 @@ +# 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. + +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: + +``` +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 +``` + +4. Add the following line to `${FLUTTER_APP}/android/app/build.gradle`, `android > sourceSets` section: `main.jniLibs.srcDirs += 'src/main/vklibs'`. + +5. This should enable Vulkan validation layers on your Android application.