Module: Mesa
Branch: main
Commit: 76397d18ae33bdd0f2ea5b89a98f4935e7db1f25
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=76397d18ae33bdd0f2ea5b89a98f4935e7db1f25

Author: Yiwei Zhang <[email protected]>
Date:   Tue Sep  6 19:25:10 2022 +0000

zink: fix core support on Android

- use legacy EGL driver interface
- use Android Vulkan loader
- avoid unrelated kopper source files

v2: update false #elif to #else

Signed-off-by: Yiwei Zhang <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]> (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18453>

---

 src/gallium/drivers/zink/zink_screen.c | 2 ++
 src/gallium/frontends/dri/meson.build  | 2 +-
 src/gallium/targets/dri/target.c       | 5 ++++-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 2fdb2321cf0..9cc2c54ddf1 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -56,6 +56,8 @@
 #include <unistd.h>
 #if DETECT_OS_APPLE
 #define VK_LIBNAME "libvulkan.1.dylib"
+#elif DETECT_OS_ANDROID
+#define VK_LIBNAME "libvulkan.so"
 #else
 #define VK_LIBNAME "libvulkan.so.1"
 #endif
diff --git a/src/gallium/frontends/dri/meson.build 
b/src/gallium/frontends/dri/meson.build
index dd9b5cb5611..f02aaeb20ca 100644
--- a/src/gallium/frontends/dri/meson.build
+++ b/src/gallium/frontends/dri/meson.build
@@ -44,7 +44,7 @@ if with_dri2
 endif
 
 libdri_c_args = []
-if with_gallium_zink
+if with_gallium_zink and not with_platform_android
   if get_option('glvnd')
     libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL_@0@ and 
libGLX_@0@"'.format(get_option('glvnd-vendor-name'))
   else
diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c
index 482f4aabb72..ede23d3f47f 100644
--- a/src/gallium/targets/dri/target.c
+++ b/src/gallium/targets/dri/target.c
@@ -125,13 +125,16 @@ DEFINE_LOADER_DRM_ENTRYPOINT(lima)
 #endif
 
 #if defined(GALLIUM_ZINK) && !defined(__APPLE__)
+#if defined(ANDROID)
+DEFINE_LOADER_DRM_ENTRYPOINT(zink);
+#else
 const __DRIextension **__driDriverGetExtensions_zink(void);
 
 PUBLIC const __DRIextension **__driDriverGetExtensions_zink(void)
 {
    return galliumvk_driver_extensions;
 }
-
+#endif
 #endif
 
 #if defined(GALLIUM_D3D12)

Reply via email to