[Mesa-dev] android: add support for vulkan radv
Mauro Rossi
issor.oruam at gmail.com
Sun Jul 22 08:14:56 UTC 2018
The following series adds support for vulkan radv for Android 8.1
[PATCH 1/4] radv: move vk_format_table.c to generated sources
[PATCH 2/4] radv: generate entrypoints for VK_ANDROID_native_buffer
[PATCH 3/4] android: radv: add Android.mk for vulkan.radv HAL module
[PATCH 4/4] android: radv: enable build of vulkan.radv HAL module
Tested oreo-x86_8.1.0_r41 with mesa-dev and llvm70 master on GCN 2nd gen parts,
with "hwcomposer.drm (hwc1 and hwc2) + gralloc.gbm" HALs as a Proof of Concept.
Android CTS 8.1_r7 dEQP-VK.* tests: 227442 passed, 14 failed, 0 not executed
The following Vulkan enabled apps are working:
VulkanCapsViewer, Sascha Willems demos (44 of 48 are Ok), Google tutorials,
V1 Benchmark Pro (Vulkan API), PPSSPP emulator, Breakneck, Dream League Soccer,
Olympus Rising, Score! Hero, Toy Zombies Lite, Vainglory
To test vulkan.radv HAL, surfaceflinger was modified to request BGRA format,
instead of AOSP default RGBA format, hwcomposer.drm and gralloc.gbm mainstream
branches required small changes and mesa 18.2 prime fd support in egl/android
was essential to avoid following show stopper error:
'vulkan : vkCreateImage w/ native buffer failed: 3294895293'
All the necessary changes in the graphics stack are documented and available
here for reference (maurossi commits) and they work also for Intel anv:
frameworks/native (PoC, to be refined to use native HW pixel formats):
https://github.com/maurossi/frameworks_native/commits/BGRA_in_hwc2
hwc1:
https://github.com/maurossi/drm_hwcomposer/commits/oreo-x86_conn_state
https://github.com/maurossi/gbm_gralloc/commits/oreo-x86_hwc_flag
hwc2:
https://github.com/maurossi/drm_hwcomposer/commits/robh_handle-rework
https://github.com/maurossi/gbm_gralloc/commits/robh_handle-rework-v2
external/llvm70 branch (used to build libLLVM70 shared library):
https://github.com/maurossi/llvm/tree/oreo-x86_llvm70_test
Thanks to Chih-Wei Huang, Qiang Yu, Tapani P lli , Emil Velikov,
Robert Foss, Rob Herring and Tomasz Figa for continuous help and support.
Signed-off-by: Mauro Rossi <issor.oruam at gmail.com>
More information about the mesa-dev
mailing list