mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-02 15:50:09 +01:00
XQuartz: GLX: Create a new dispatch table rather than modifying the existing one
Fixes regression introduced byb0c665ac0f0 X11.bin 0x0000000100118293 __glXAquaScreenCreateContext + 684 1 X11.bin 0x00000001001315b0 DoCreateContext + 163 2 X11.bin 0x000000010013509f __glXDispatch + 211 3 X11.bin 0x00000001000c7dad Dispatch + 785 4 X11.bin 0x00000001000b97e5 dix_main + 1022 5 X11.bin 0x00000001000122bc server_thread + 50 6 libSystem.B.dylib 0x00007fff836554f6 _pthread_start + 331 7 libSystem.B.dylib 0x00007fff836553a9 thread_start + 13 http://lists.apple.com/archives/X11-users/2011/May/msg00045.html Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit38df706c6b)
This commit is contained in:
parent
6a16c4c268
commit
a4725afa0e
1 changed files with 11 additions and 1 deletions
|
|
@ -682,7 +682,15 @@ GLuint __glFloorLog2(GLuint val)
|
|||
}
|
||||
|
||||
static void setup_dispatch_table(void) {
|
||||
struct _glapi_table *disp=_glapi_get_dispatch();
|
||||
static struct _glapi_table *disp = NULL;
|
||||
|
||||
if(disp) {
|
||||
_glapi_set_dispatch(disp);
|
||||
return;
|
||||
}
|
||||
|
||||
disp=calloc(1,sizeof(struct _glapi_table));
|
||||
assert(disp);
|
||||
|
||||
/* to update:
|
||||
* for f in $(grep 'define SET_' ../../../glx/dispatch.h | cut -f2 -d' ' | cut -f1 -d\( | sort -u); do grep -q $f indirect.c || echo $f ; done | grep -v by_offset | sed 's:SET_\(.*\)$:SET_\1(disp, gl\1)\;:' | pbcopy
|
||||
|
|
@ -1626,4 +1634,6 @@ static void setup_dispatch_table(void) {
|
|||
SET_PixelTexGenParameterivSGIS(disp, glPixelTexGenParameterivSGIS);
|
||||
SET_PixelTexGenSGIX(disp, glPixelTexGenSGIX);
|
||||
#endif
|
||||
|
||||
_glapi_set_dispatch(disp);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue