diff options
-rw-r--r-- | src/glx/glxcmds.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index e3f77a0841..2eee005db6 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -366,12 +366,13 @@ CreateContext(Display * dpy, XVisualInfo * vis, const __GLcontextModes * const fbconfig, GLXContext shareList, Bool allowDirect, GLXContextID contextID, - unsigned code, int renderType) + unsigned code, int renderType, int screen) { GLXContext gc; #ifdef GLX_DIRECT_RENDERING - int screen = (fbconfig == NULL) ? vis->screen : fbconfig->screen; __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen); +#else + (void) screen; #endif if (dpy == NULL) @@ -504,7 +505,7 @@ glXCreateContext(Display * dpy, XVisualInfo * vis, GLXContext shareList, Bool allowDirect) { return CreateContext(dpy, vis, NULL, shareList, allowDirect, None, - X_GLXCreateContext, 0); + X_GLXCreateContext, 0, vis->screen); } _X_HIDDEN void @@ -1753,8 +1754,11 @@ glXImportContextEXT(Display * dpy, GLXContextID contextID) return NULL; } + /* FIXME: Why does this call CreateContext? There is no protocol sent for + * FIXME: this function. + */ ctx = CreateContext(dpy, NULL, NULL, NULL, False, contextID, - X_GLXCreateContext, 0); + X_GLXCreateContext, 0, 0); if (NULL != ctx) { if (Success != __glXQueryContextInfo(dpy, ctx)) { return NULL; @@ -1803,8 +1807,12 @@ PUBLIC GLXContext glXCreateNewContext(Display * dpy, GLXFBConfig config, int renderType, GLXContext shareList, Bool allowDirect) { - return CreateContext(dpy, NULL, (__GLcontextModes *) config, shareList, - allowDirect, None, X_GLXCreateNewContext, renderType); + const __GLcontextModes *const fbconfig = + (const __GLcontextModes *const) config; + + return CreateContext(dpy, NULL, fbconfig, shareList, + allowDirect, None, X_GLXCreateNewContext, renderType, + fbconfig->screen); } @@ -2293,7 +2301,8 @@ glXCreateContextWithConfigSGIX(Display * dpy, && __glXExtensionBitIsEnabled(psc, SGIX_fbconfig_bit)) { gc = CreateContext(dpy, NULL, (__GLcontextModes *) config, shareList, allowDirect, None, - X_GLXvop_CreateContextWithConfigSGIX, renderType); + X_GLXvop_CreateContextWithConfigSGIX, renderType, + fbconfig->screen); } return gc; |