platform_frameworks_native/vulkan
Yiwei Zhang c0f8a2ce8e Vulkan: handle INVALID_OPERATION from BQ in the timeout case
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
2020-05-01 17:37:59 +00:00
..
include Move the nested struct inside VkNativeBufferANDROID outside. 2019-07-18 01:26:31 +00:00
libvulkan Vulkan: handle INVALID_OPERATION from BQ in the timeout case 2020-05-01 17:37:59 +00:00
nulldrv Replace more -Weverything with -Wextra 2019-11-09 00:56:40 +00:00
scripts Vulkan: correctly expose Vulkan entry points 2019-10-17 16:27:44 -07:00
vkjson [vkjson] Add support of VK_KHR_shader_float16_int8. 2020-02-27 19:33:24 -08:00
.clang-format vulkan: initial loader and null driver 2016-01-25 13:49:31 -08:00
Android.bp vulkan: remove the obsolete vkinfo tool 2019-08-07 13:00:49 -07:00
OWNERS Add opengl owners 2018-12-21 15:14:42 -08:00
README.md vulkan: combine doc with README.md file 2019-08-06 19:28:36 -07:00
TEST_MAPPING Add CtsGpuToolsHostTestCases into presubmit. 2020-03-25 20:32:46 -07:00

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