summaryrefslogtreecommitdiff
path: root/src/mapi/mapi
AgeCommit message (Collapse)Author
2011-03-06mapi: _glthread_DECLARE_STATIC_MUTEX is not broken on Windows.José Fonseca
2011-01-22mapi: ENTRY_CURRENT_TABLE_GET should be stringified.Chia-I Wu
So that it can be renamed to _glapi_get_dispatch.
2011-01-20mapi: Add support for bridge mode.Chia-I Wu
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.
2011-01-20mapi: u_current_table may be renamed.Chia-I Wu
When MAPI_MODE_GLAPI is defined, u_current_table is renamed to _glapi_Dispatch or _glapi_tls_Dispatch. The ASM dispatchers should not use hardcoded name.
2011-01-20mapi: Add a new glapi.h implementation.Chia-I Wu
The new implementation is based on mapi. No new script is needed. As noted in sources.mk, the way to use it is to compile MAPI_GLAPI_SOURCES with MAPI_MODE_GLAPI defined.
2011-01-20mapi: Fix glapi printers for gl_and_es_API.xml.Chia-I Wu
Fix GLAPIPrinter, ES1APIPrinter, and ES2APIPrinter to output files that are ready for compilation. Since gl_and_es_API.xml is based on gl_API.xml, the hidden and handcode attributes of entries have to be overridden for ES1APIPrinter and ES2APIPrinter.
2011-01-20mapi: Allow prefix to be macro.Chia-I Wu
Treat prefix as macro when it is all uppercase. Generate PREFIX(name) instead of PREFIXname when it is a macro.
2011-01-20mapi: Add the ability to parse GLAPI XML.Chia-I Wu
A prerequisite if we want to convert vgapi.csv to vgapi.xml, or to use mapi for glapi.
2010-12-31mapi: add missing newline in error messageBrian Paul
2010-12-24mapi: Move mapi_func typedef to entry.h.Chia-I Wu
Make it clear that entry.h does not depend on stub.h.
2010-12-24mapi: Define MAPI_TMP_DEFINES only when needed.Chia-I Wu
Since struct mapi_table is opaque, MAPI_TMP_DEFINES is not needed in table.h.
2010-12-24mapi: Add and use entry_get_public.Chia-I Wu
Given a dispatch slot, entry_get_public returns the address of the corresponding public entry point. There may be more than one of them. But since they are all equivalent, it is fine to return any one of them. With entry_get_public, the address of any public entry point can be calculated at runtime when an assembly dispatcher is used. There is no need to have a mapping table in such case. This omits the unnecessary relocations from the binary.
2010-12-24mapi: Make struct mapi_stub opaque.Chia-I Wu
Add accessors for struct mapi_stub and make it opaque.
2010-12-24mapi: Allow blocks to be disabled from the output.Chia-I Wu
For example, a printer may ask not to output noop dispatch table.
2010-12-24mapi: Fix hidden entries.Chia-I Wu
Hidden entries are just like normal entries except that they are not exported. Since it is not always possible to hide them, and two hidden aliases can share the same entry, the name of hidden aliases are mangled to '_dispatch_stub_<slot>'.
2010-12-24mapi: Add "handcode" attribute to the script.Chia-I Wu
Entries with handcode attribute will be handled normally, except no entry point will be generated for them.
2010-12-24mapi: Minor ABIPrinter refactoring.Chia-I Wu
Split out function name generation from _c_decl to _c_function, and use it everywhere. Add an optional 'export' argument to _cdecl. It is prepended to the returned string.
2010-12-24mapi: Store alias entry instead of alias name.Chia-I Wu
An entry can hold more info than plain name.
2010-12-23mapi: Remove unnecessary header.Vinson Lee
2010-12-18mapi: Clean up sources.mk.Chia-I Wu
Rename MAPI_GLAPI_SOURCES to MAPI_UTIL_SOURCES. Rename macro MAPI_GLAPI_CURRENT to MAPI_MODE_UTIL. Update the comments to make it clear that mapi may be used in two ways and how.
2010-12-18mapi: Clean up u_current interface.Chia-I Wu
Try not to use macros to make u_current.h appear to be glapi.h. Use u_current.h to implement glapi.h instead whenever possible.
2010-12-18mapi: Add ABI-tag note.Chia-I Wu
TLS requires kernel >= 2.4.20. Per glapi.
2010-12-12mapi: Fix a warning in !THREADS build.Chia-I Wu
It should be u_thread_self, not _glthread_GetID.
2010-12-06mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.Chia-I Wu
The preprocessor magic in mapi was nothing but obfuscation. Rewrite mapi_abi.py to generate real C code. This commit removes the hack added in 43121f20866bb89e8dac92bd92ec85a943704b7e.
2010-12-02mapi: Hack to avoid vgCreateFont being generated as vgCreateFontA.José Fonseca
Right fix is probably stop C-preprocessor abuse and stick 100% with scripted code generation.
2010-12-02WIN32_THREADS -> WIN32José Fonseca
Fixes nasty bug where some parts of the code didn't define WIN32_THREADS and were using the integer mutex implementation, causing even confusion to the debuggers. And there is little interest of other thread implemenation on Win32 besides Win32 threads.
2010-09-30mapi: Fix compiler warnings.Chia-I Wu
Do not use "void *" in arithmetics.
2010-08-21mapi: Use MAPI_EXPORT to export public functions.Chia-I Wu
mapi.h is included by vgapi and st/vega. On win32, the macro expands to dllexport and dllimport respectively.
2010-08-21mapi: Prefix functions in u_current.h by u_current.Chia-I Wu
That is, replace the old _glapi_* names by new names that start with u_current_. When MAPI_GLAPI_CURRENT is defined, u_current.h defines rename macros to restore the old names. That is done for ABI compatibility.
2010-08-21glapi: Move public function/variable declarations to glapi.h.Chia-I Wu
glapi defines an interface that is used by DRI drivers. It must not be changed in an ABI incompatible way. This commit moves all functions/variables belong to the interface to glapi.h. Instead of including u_current.h from glapi.h, u_current.h now includes glapi.h.
2010-06-20mapi: Add missing stdlib.h header for malloc declaration.Vinson Lee
2010-05-31Define PUBLIC to dllexport on MSVC.Chia-I Wu
Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.
2010-05-07mapi/glapi: Don't allocate a page for every function on windows.José Fonseca
2010-05-07mapi: Avoid Data Execution Prevention on windows.José Fonseca
2010-05-07mapi: Add x86-64 dispatcher.Chia-I Wu
2010-05-07mapi: Add x86 dispatcher.Chia-I Wu
2010-05-07mapi: Add a generic C dispatcher.Chia-I Wu
The idea is to have an API generate a header using mapi_abi.py. The API can then use the header to build a dispatcher.
2010-05-07mapi: Add mapi and share the code with glapi.Chia-I Wu
Specifically, move all or most of glapi/glapi.c to mapi/u_current.c, glapi/glapi_execmem.c to mapi/u_execmem.c, glapi/glthread.[ch] to mapi/u_thread.[ch] and remove their dependencies on core Mesa headers.