mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
mesa: dri: Add shared glapi to LIBADD on Android
/system/vendor/lib/dri/*_dri.so actually depend on libglapi: without
this, loading the so file fails with:
cannot locate symbol "__emutls_v._glapi_tls_Context"
On non-Android (non-bionic) platform, EGL uses the following
workflow, which works fine:
dlopen("libglapi.so", RTLD_LAZY | RTLD_GLOBAL);
dlopen("dri/<driver>_dri.so", RTLD_NOW | RTLD_GLOBAL);
However, bionic does not respect the RTLD_GLOBAL flag, and the dri
library cannot find symbols in libglapi.so, so we need to link
to libglapi.so explicitly. Android.mk already does this.
Signed-off-by: Nicolas Boichat <drinkcat@google.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
[Emil Velikov: s/explicitely/explicitly/]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
parent
27d713a004
commit
0cbc90c57c
1 changed files with 8 additions and 0 deletions
|
|
@ -6,6 +6,13 @@ MEGADRIVERS_DEPS =
|
|||
|
||||
SUBDIRS+=common
|
||||
|
||||
# On Android, we need to explicitly link to libglapi.so.
|
||||
if HAVE_ANDROID
|
||||
if HAVE_SHARED_GLAPI
|
||||
SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la
|
||||
endif
|
||||
endif
|
||||
|
||||
if HAVE_I915_DRI
|
||||
SUBDIRS += i915
|
||||
MEGADRIVERS_DEPS += i915/libi915_dri.la
|
||||
|
|
@ -61,6 +68,7 @@ mesa_dri_drivers_la_LIBADD = \
|
|||
common/libmegadriver_stub.la \
|
||||
common/libdricommon.la \
|
||||
common/libxmlconfig.la \
|
||||
$(SHARED_GLAPI_LIB) \
|
||||
$(MEGADRIVERS_DEPS) \
|
||||
$(DRI_LIB_DEPS) \
|
||||
$()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue