Age | Commit message (Collapse) | Author |
|
Make it clear that entry.h does not depend on stub.h.
|
|
Since struct mapi_table is opaque, MAPI_TMP_DEFINES is not needed in
table.h.
|
|
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.
|
|
Add accessors for struct mapi_stub and make it opaque.
|
|
For example, a printer may ask not to output noop dispatch table.
|
|
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>'.
|
|
Entries with handcode attribute will be handled normally, except no
entry point will be generated for them.
|
|
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.
|
|
An entry can hold more info than plain name.
|
|
|
|
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.
|
|
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.
|
|
TLS requires kernel >= 2.4.20. Per glapi.
|
|
It should be u_thread_self, not _glthread_GetID.
|
|
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.
|
|
Right fix is probably stop C-preprocessor abuse and stick 100% with
scripted code generation.
|
|
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.
|
|
|
|
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>
|
|
Fix up some details in the xml files and regenerate dispatch files.
|
|
|
|
The type of the num/count parameter to glProgramParameters4[df]vNV()
changed so some API dispatch code needed updates too.
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
Move defines in glapioffsets.h to glapidispatch.h. Rename
_gloffset_FIRST_DYNAMIC to _gloffset_COUNT, which is equal to the number
of entries in _glapi_table.
Consistently use SET_by_offset, GET_by_offset, CALL_by_offset, and
_gloffset_* to recursively define all SET/GET/CALL macros.
|
|
glapioffsets.h exists for the same reason as glapidispatch.h does. It
is of no use to glapi. This commit also drops the use of glapioffsets.h
in glx as glx is considered an extension to glapi when it comes to
defining public GL entries.
|
|
It is a core mesa header, not a glapi header.
|
|
glapidispatch.h exists so that core mesa (libmesa.a) can be built for
DRI drivers or for non-DRI drivers as a compile time decision (whether
IN_DRI_DRIVER is defined). It is of no use to glapi. This commit also
drops the use of glapidispatch.h in glx and libgl-xlib as they are
considered extensions to glapi when it comes to defining public GL
entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Do not use "void *" in arithmetics.
|
|
|
|
This fixes an error in GLAPI ES. My build is ok with or without this
patch, and the error affects others' setups.
[Patch from Francesco Marella]
|
|
The latest glext.h defines GL_FIXED. Test GL_OES_fixed_point instead to
decide whether to define GLfixed and GLclampx.
This fixes fdo bug #30205.
|
|
A number of other files had to be updated as well because const
qualifiers were added to the glMultiDrawArrays() function.
Also, GL_FIXED is now defined in glext.h.
|
|
This reverts commit b9abc6139a310677a37754ea7172d976dbf56979 and the
follow on fixes (7aae704 and 6fe1b47). It's changing the glapi/driver
ABI and causes a number of problems for debug/non-debug builds.
|
|
|
|
There's a useful feature buried in glapi to log all API calls to stderr.
Unfortunately it requires editing the code and then it's enabled
unconditionally for that build. This patch builds in API logging for
debug builds and makes it run-time switchable by setting MESA_DEBUG=dispatch.
|
|
The __GLapi typedef was removed in c356f5867f2c1fad7155df538b9affa8dbdcf869,
but the code generator hasn't been updated.
|
|
Do not rely on PUBLIC being defined in glapi.h. Do not include core
mesa headers.
|
|
mapi.h is included by vgapi and st/vega. On win32, the macro expands to
dllexport and dllimport respectively.
|