summaryrefslogtreecommitdiff
path: root/src/mapi
AgeCommit message (Collapse)Author
2011-01-20mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul
Remove the redundant public _mesa_prim_name[] array.
2011-01-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu
When --enable-shared-glapi is specified, libGL will share libglapi with OpenGL ES instead of defining its own copy of glapi. This makes sure an app will get only one copy of glapi in its address space. The new option is disabled by default. When enabled, libGL and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed. For GLX, indirect rendering for has_different_protocol() functions is tricky. A has_different_protocol() function is assigned only one dispatch offset, yet each entry point needs a different protocol opcode. It cannot be supported by the shared glapi. The fix to this is to make glXGetProcAddress handle such functions specially before calling _glapi_get_proc_address. Note that these files are automatically generated/re-generated src/glx/indirect.c src/glx/indirect.h src/mapi/glapi/glapi_mapi_tmp.h
2011-01-20glapi: Fix OpenGL ES 1.1 and 2.0 interop.Chia-I Wu
Move _glapi_* symbols from libGLESv1_CM.so and libGLESv2.so to libglapi.so. This makes sure an app will get only one copy of glapi in its address space. Note that with this change, libGLES* and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed.
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.
2011-01-20glapi: Add gl_and_es_API.xml.Chia-I Wu
gl_and_es_API.xml defines OpenGL ES 1.1 and 2.0 API as well as OpenGL API. It consists of gl_API.xml and the newly added es_EXT.xml, ARB_get_program_binary.xml, OES_single_precision.xml, and OES_fixed_point.xml.
2011-01-19Add machine generated files to .gitignoretwied
2011-01-15glapi: regenerated filesBrian Paul
2011-01-15glapi: new entrypoint specs for GL_ARB_draw_buffers_blendBrian Paul
2011-01-15glapi: regenerated filesBrian Paul
2011-01-15glapi: GL_ARB_instanced_arrays supportBrian Paul
2011-01-14glapi: Regenerate for GL_ARB_ES2_compatibility.Eric Anholt
2011-01-14glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.Eric Anholt
2011-01-13scons: Ensure the OpenVG/EGL import libs are also prefixed with 'lib'.José Fonseca
2011-01-13scons: Build libOpenVG.dll & libEGL.dllJosé Fonseca
But without creating liblibOpenVG or liblibEGL elsewhere. Thanks Chia-I Wu for pointing this out.
2011-01-12scons: Fix build on systems without libOpenVG.soJosé Fonseca
2011-01-12scons: Updates for targets/egl-static.Chia-I Wu
Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
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-12-01st/vega: Update to latest headers.Chia-I Wu
2010-11-29drivers/x11: unifdef XFree86ServerAdam Jackson
This code was for the old GLcore build of the software rasteriser. The X server switched to a DRI driver for software indirect GLX long ago. Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-21mesa: hook up GL 3.x entrypointsBrian Paul
Fix up some details in the xml files and regenerate dispatch files.
2010-11-21glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versionsBrian Paul
2010-11-17mesa: upgrade to glext.h version 66Brian Paul
The type of the num/count parameter to glProgramParameters4[df]vNV() changed so some API dispatch code needed updates too.
2010-11-01scons: Revamp how to specify targets to build.José Fonseca
Use scons target and dependency system instead of ad-hoc options. Now is simply a matter of naming what to build. For example: scons libgl-xlib scons libgl-gdi scons graw-progs scons llvmpipe and so on. And there is also the possibility of scepcified subdirs, e.g. scons src/gallium/drivers If nothing is specified then everything will be build. There might be some rough corners over the next days. Please bare with me.
2010-10-29Merge branch 'glapi-reorg'Chia-I Wu
Conflicts: src/mapi/glapi/glapi_sparc.S src/mapi/glapi/glapi_x86.S src/mapi/glapi/glapidispatch.h src/mapi/glapi/glapioffsets.h src/mapi/glapi/glprocs.h
2010-10-28glapi: regenerated API filesBrian Paul
2010-10-28glapi: include EXT_gpu_shader4.xmlBrian Paul
2010-10-28glapi: xml spec file for GL_EXT_gpu_shader4Brian Paul
2010-10-27glapi: Commit files changed by previous commitIan Romanick