platform_frameworks_native/vulkan
Yiwei Zhang 51572c2fd5 vulkan: respect consumer default dataspace upon PASS_THROUGH
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
2022-07-25 17:44:46 +00:00
..
include Merge "Vulkan: unload builtin driver to reload updated driver if needed" 2020-08-03 17:01:44 +00:00
libvulkan vulkan: respect consumer default dataspace upon PASS_THROUGH 2022-07-25 17:44:46 +00:00
nulldrv Deleted clang property in Android.bp files 2022-05-13 19:08:09 +00:00
scripts swapchain: Implement VK_KHR_surface_protected_capabilities 2022-03-16 20:51:11 +00:00
vkjson Update VkJson to not visit features based on a specific version 2022-06-27 15:25:02 -07:00
.clang-format
Android.bp [LSC] Add LOCAL_LICENSE_KINDS to frameworks/native 2021-02-25 15:35:37 -08:00
OWNERS
README.md Fix typo 2021-07-06 09:02:06 +00: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 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