diff --git a/src/glx/x11/dri2_glx.c b/src/glx/x11/dri2_glx.c index b679c72..0be65bc 100644 --- a/src/glx/x11/dri2_glx.c +++ b/src/glx/x11/dri2_glx.c @@ -308,7 +308,7 @@ static __GLXDRIscreen *dri2CreateScreen(__GLXscreenConfigs *psc, int screen, return NULL; } - driBindExtensions(psc); + driBindExtensions(psc, 1); psc->configs = driConvertConfigs(psc->core, psc->configs, driver_configs); psc->visuals = driConvertConfigs(psc->core, psc->visuals, driver_configs); diff --git a/src/glx/x11/dri_common.c b/src/glx/x11/dri_common.c index b159d19..8175f46 100644 --- a/src/glx/x11/dri_common.c +++ b/src/glx/x11/dri_common.c @@ -329,7 +329,7 @@ driConvertConfigs(const __DRIcoreExtension *core, } _X_HIDDEN void -driBindExtensions(__GLXscreenConfigs *psc) +driBindExtensions(__GLXscreenConfigs *psc, int dri2) { const __DRIextension **extensions; int i; @@ -386,7 +386,7 @@ driBindExtensions(__GLXscreenConfigs *psc) #endif #ifdef __DRI_TEX_BUFFER - if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) { + if ((strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) && dri2) { psc->texBuffer = (__DRItexBufferExtension *) extensions[i]; __glXEnableDirectExtension(psc, "GLX_EXT_texture_from_pixmap"); } diff --git a/src/glx/x11/dri_common.h b/src/glx/x11/dri_common.h index 3556510..15f6cc8 100644 --- a/src/glx/x11/dri_common.h +++ b/src/glx/x11/dri_common.h @@ -55,6 +55,6 @@ extern void ErrorMessageF(const char *f, ...); extern void *driOpenDriver(const char *driverName); -extern void driBindExtensions(__GLXscreenConfigs *psc); +extern void driBindExtensions(__GLXscreenConfigs *psc, int dri2); #endif /* _DRI_COMMON_H */ diff --git a/src/glx/x11/dri_glx.c b/src/glx/x11/dri_glx.c index d53f2d9..82653f1 100644 --- a/src/glx/x11/dri_glx.c +++ b/src/glx/x11/dri_glx.c @@ -635,7 +635,7 @@ static __GLXDRIscreen *driCreateScreen(__GLXscreenConfigs *psc, int screen, return NULL; } - driBindExtensions(psc); + driBindExtensions(psc, 0); psp->destroyScreen = driDestroyScreen; psp->createContext = driCreateContext; diff --git a/src/glx/x11/drisw_glx.c b/src/glx/x11/drisw_glx.c index f7ff001..bcf7e14 100644 --- a/src/glx/x11/drisw_glx.c +++ b/src/glx/x11/drisw_glx.c @@ -390,7 +390,7 @@ static __GLXDRIscreen *driCreateScreen(__GLXscreenConfigs *psc, int screen, goto handle_error; } - driBindExtensions(psc); + driBindExtensions(psc, 0); psc->configs = driConvertConfigs(psc->core, psc->configs, driver_configs); psc->visuals = driConvertConfigs(psc->core, psc->visuals, driver_configs);