51572c2fd5
Most of the HWC backends don't consume HAL_DATASPACE_ARBITRARY, and will end up with client composition. This change fixes the Surface to clear the prior requested dataspace leftover upon disconnect, and let vulkan swapchain to skip setting dataspace upon PASS_THROUGH. Bug: 239893387 Test: android.view.cts.DisplayRefreshRateTest#testRefreshRate with angle Test: android.media.cts.EncodeDecodeTest with angle Test: dEQP-EGL.* with angle Test: dEQP-VK.wsi.android.* Change-Id: Iba1d9160569ad6136127cf8055aa75f195fed3d9 |
||
---|---|---|
.. | ||
include | ||
libvulkan | ||
nulldrv | ||
scripts | ||
vkjson | ||
.clang-format | ||
Android.bp | ||
OWNERS | ||
README.md | ||
TEST_MAPPING |
frameworks/native/vulkan
This subdirectory contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.
Documentation
The former contents of doc/implementors_guide/ are now at https://source.android.com/devices/graphics/implement-vulkan.
Coding Style
We follow the Chromium 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.
Use "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.
Code Generation
We 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.
Run The Code Generator
Install Python3 (if not already installed) and execute below:
$ ./scripts/code_generator.py