c0f8a2ce8e
If app dequeues too many buffers, then dequeueBuffer will return INVALID_OPERATION. When ANI is called with a timeout which isn't UINT64_MAX, ANI shouldn't return VK_ERROR_SURFACE_LOST_KHR. Bug: 146534593 Bug: 155421312 Test: dEQP-VK.wsi.android.swapchain.acquire.too_many Test: dEQP-VK.wsi.android.swapchain.acquire.too_many_timeout Change-Id: Ie8ad8edb4632378247b9cbb715ed6eb7134ababb |
||
---|---|---|
.. | ||
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 driectly 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