On 04/06/2013 11:36 AM, Stefan Brüns wrote:
Am Freitag, 22. März 2013, 11:46:52 schrieben Sie:
To call glFoo, the xserver (or libGL) does
(dispatch_table[offset_of_glFoo])(...);
To set the pointer for the glFoo function, the driver does
dispatch_table[remap_table[remap_offset_of_glFoo]] = driver_glFoo;
Thanks for the clarification, after knowing what should happen finding the
root cause was straigthforward:
The population of dispatch_table is done using _glapi_add_dispatch(...). This
function is defined by the XServer in glx/glapi.c, and it is defined in Mesas
mapi/mapi/mapi_glapi.c
Now, why is libGL and thus libglapi linked to the X server - the Intel driver
optionally uses glamor, which uses libGL!
Recompiling the intel driver whithout glamor resolves this problem.
Right... I don't think having two different loaders (libGL and the GLX
extension) active in on process could ever work our dispatch
architecture. Nothing in the X server should *ever* link with libGL...
it's like linking with two different libc implementations... what could
possibly go wrong?
Regards,
Stefan
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev