Skip to content

zink/loader: bring up zink on Android

Yiwei Zhang requested to merge zzyiwei/mesa:zink-android into main

First 2 commits update loader, zink and build configs to properly load Vulkan core on Android.

The next couple commits fix a bunch of bugs w.r.t external fencing.

The last commit implements a missing api required by EGL platform android.

Setup:

  • use GALLIUM_DRIVERS=zink
  • install src/gallium/targets/dri/libgallium_dri.so as zink_dri.so
  • requires root or set at build time: setprop mesa.loader.driver.override zink
  • (optional) use skiavk: adb shell setprop debug.hwui.renderer skiavk

Test:

  • games and benchmarks run normally
  • low-latency stylus app using front buffer rendering runs normally
  • basic cts run passes

Open issues:

  • #7210 (closed) no GL_ARB_instanced_arrays emulation blocks skiagl
    • forcing skiavk unblocks gl games and other custom gl usages
  • VK_IMAGE_LAYOUT_PRESENT_SRC_KHR used for WSI atop external memory
  • VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext
  • VUID-VkRenderPassBeginInfo-framebuffer-03214
  • VUID-VkRenderPassBeginInfo-framebuffer-03215
  • UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout

/cc @zmike @anholt

Edited by Yiwei Zhang

Merge request reports