xref: /aosp_15_r20/frameworks/native/vulkan/README.md (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Worker# frameworks/native/vulkan
2*38e8c45fSAndroid Build Coastguard Worker
3*38e8c45fSAndroid Build Coastguard WorkerThis subdirectory contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.
4*38e8c45fSAndroid Build Coastguard Worker
5*38e8c45fSAndroid Build Coastguard Worker## Documentation
6*38e8c45fSAndroid Build Coastguard Worker
7*38e8c45fSAndroid Build Coastguard WorkerThe former contents of doc/implementors_guide/ are now at https://source.android.com/devices/graphics/implement-vulkan.
8*38e8c45fSAndroid Build Coastguard Worker
9*38e8c45fSAndroid Build Coastguard Worker## Coding Style
10*38e8c45fSAndroid Build Coastguard Worker
11*38e8c45fSAndroid Build Coastguard WorkerWe follow the [Chromium coding style](https://www.chromium.org/developers/coding-style) for naming and formatting, except with four-space indentation instead of two spaces. In general, any C++ features supported by the prebuilt platform toolchain are allowed.
12*38e8c45fSAndroid Build Coastguard Worker
13*38e8c45fSAndroid Build Coastguard WorkerUse "clang-format -style=file" to format all C/C++ code, except code imported verbatim from elsewhere. Setting up git-clang-format in your environment is recommended.
14*38e8c45fSAndroid Build Coastguard Worker
15*38e8c45fSAndroid Build Coastguard Worker## Code Generation
16*38e8c45fSAndroid Build Coastguard Worker
17*38e8c45fSAndroid Build Coastguard WorkerWe generate several parts of the loader and tools directly from the Vulkan Registry (external/vulkan-headers/registry/vk.xml). Code generation must be done manually because the generator is not part of the platform toolchain (yet?). Files named `foo_gen.*` are generated by the code generator.
18*38e8c45fSAndroid Build Coastguard Worker
19*38e8c45fSAndroid Build Coastguard Worker### Run The Code Generator
20*38e8c45fSAndroid Build Coastguard Worker
21*38e8c45fSAndroid Build Coastguard WorkerInstall Python3 (if not already installed) and execute below:
22*38e8c45fSAndroid Build Coastguard Worker`$ ./scripts/code_generator.py`
23