platform_frameworks_native/vulkan
Yiwei Zhang 4264917141 Vulkan: remove the fallback path to load Vulkan driver
This fallback loading path was for backwards compatibility with devices
being upgraded from pre-Oreo (i.e. pre-Treble) to Oreo or later. Those
devices weren't required to follow a lot of the Treble rules, so linker
namespaces (or binaries compatible with them) couldn't be enforced. This
change removes it so that we can discover issues around loading Vulkan
driver from sphal namespace.

Bug: 156021362
Test: build, flash and boot
Change-Id: I505bdbdb40a06e1d837f1d0b75822b0c60de96c9
2020-05-07 14:05:57 -07:00
..
include Move the nested struct inside VkNativeBufferANDROID outside. 2019-07-18 01:26:31 +00:00
libvulkan Vulkan: remove the fallback path to load Vulkan driver 2020-05-07 14:05:57 -07: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
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