diff options
author | Chia-I Wu <olv@lunarg.com> | 2010-12-17 00:24:27 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2011-01-20 17:15:50 +0800 |
commit | 97185bf2654f7e72d8bfcc216f905492655d4c77 (patch) | |
tree | 92a3f7e0ef7faa683270dd91df34390c0cc0b838 /src/mapi/mapi/mapi_tmp.h | |
parent | 96c52d16c1716b8974b5421342f53f36cb80c10f (diff) |
mapi: Add support for bridge mode.
In bridge mode, mapi no longer implements glapi.h. It becomes a user of
glapi.h. Imagine an app that uses both libGL.so and libGLESv2.so.
There will be two copies of glapi in the app's memory. It is possible
that _glapi_get_dispatch does not return what _glapi_set_dispatch set,
if they access different copies of the global variables. The solution
to this situation to build either one of the libraries as a bridge to
the other. Or build both libraries as bridges to another shared
glapi library.
Diffstat (limited to 'src/mapi/mapi/mapi_tmp.h')
-rw-r--r-- | src/mapi/mapi/mapi_tmp.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mapi/mapi/mapi_tmp.h b/src/mapi/mapi/mapi_tmp.h index a1b067fb73..f326b4a4e1 100644 --- a/src/mapi/mapi/mapi_tmp.h +++ b/src/mapi/mapi/mapi_tmp.h @@ -30,4 +30,19 @@ #error "MAPI_ABI_HEADER must be defined" #endif +/* does not need hidden entries in bridge mode */ +#ifdef MAPI_MODE_BRIDGE + +#ifdef MAPI_TMP_PUBLIC_ENTRIES +#undef MAPI_TMP_PUBLIC_ENTRIES +#define MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN +#endif + +#ifdef MAPI_TMP_STUB_ASM_GCC +#undef MAPI_TMP_STUB_ASM_GCC +#define MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN +#endif + +#endif /* MAPI_MODE_BRIDGE */ + #include MAPI_ABI_HEADER |