|
| 1 | + |
| 2 | +Get a local copy of the Vulkan-Profiles repository (https://github.com/KhronosGroup/Vulkan-Profiles/) |
| 3 | + |
| 4 | +NOTE: If the Vulkan-Headers you need for generation is later than the one that exists in |
| 5 | +`external/vulkan-headers`, then `external/vulkan-headers` will need to be updated to match. |
| 6 | +These updates to `external/vulkan` need to be made in AOSP. Changes to `ndk_translation` may |
| 7 | +need to be first made in internal-main. |
| 8 | + |
| 9 | +Run Vulkan-Profiles/scripts/gen_profiles_solutions.py in debug mode. |
| 10 | + |
| 11 | +Debug mode (at time of writing) requires a dedicated debug folder within the output-library location. |
| 12 | +~/Vulkan-Profiles$ mkdir debug |
| 13 | +~/Vulkan-Profiles$ python3 scripts/gen_profiles_solution.py --debug --registry ~/<PATH_TO_YOUR_ANDROID_REPO>/external/vulkan-headers/registry/vk.xml --input ~/android/main/frameworks/native/vulkan/vkprofiles/profiles/ --output-library-inc . --output-library-src . |
| 14 | + |
| 15 | +Take the generated vulkan_profiles.h and vulkan_profiles.cpp from the debug directory you just created. |
| 16 | + |
| 17 | +~/Vulkan-Profiles$ cp debug/vulkan_profiles.cpp <PATH_TO_YOUR_ANDROID_REPO>/frameworks/native/vulkan/vkprofile/generated/ |
| 18 | +~/Vulkan-Profiles$ cp debug/vulkan_profiles.h <PATH_TO_YOUR_ANDROID_REPO>/frameworks/native/vulkan/vkprofile/generated/ |
| 19 | + |
| 20 | + |
| 21 | +The files need to be modified to land. |
| 22 | +1. Replace the generated license with the correct Android license |
| 23 | +(https://cs.android.com/android/platform/superproject/main/+/main:development/docs/copyright-templates/c.txt). |
| 24 | +Make sure to set the copyright to the current year. You should also remove the `This file is ***GENERATED***` part. |
| 25 | +2. Add VK_USE_PLATFORM_ANDROID_KHR between the license and the first includes for vulkan_profiles.cpp |
| 26 | +``` |
| 27 | + */ |
| 28 | +
|
| 29 | +#ifndef VK_USE_PLATFORM_ANDROID_KHR |
| 30 | +#define VK_USE_PLATFORM_ANDROID_KHR |
| 31 | +#endif |
| 32 | +
|
| 33 | +#include ... |
| 34 | +``` |
| 35 | +3. Rewrite the includes so that `vulkan_profiles.h` is correctly included |
| 36 | +4. Modify the #define `VP_DEBUG_MESSAGE_CALLBACK(MSG) ...` from "Profiles ERROR/WARNING" to "vkprofiles ERROR/WARNING" |
| 37 | +5. You may need to modify the Android.bp to remove warnings as errors, e.g. `"-Wno-error=unused-parameter",` |
| 38 | +6. Add `clang-format off` to the beginning and `clang-format on` to the end of the files |
0 commit comments